0001171843-23-001734.txt : 20230316 0001171843-23-001734.hdr.sgml : 20230316 20230316163412 ACCESSION NUMBER: 0001171843-23-001734 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 114 CONFORMED PERIOD OF REPORT: 20221231 FILED AS OF DATE: 20230316 DATE AS OF CHANGE: 20230316 FILER: COMPANY DATA: COMPANY CONFORMED NAME: UFP TECHNOLOGIES INC CENTRAL INDEX KEY: 0000914156 STANDARD INDUSTRIAL CLASSIFICATION: SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841] IRS NUMBER: 042314970 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-12648 FILM NUMBER: 23739319 BUSINESS ADDRESS: STREET 1: 100 HALE STREET CITY: NEWBURYPORT STATE: MA ZIP: 01950 BUSINESS PHONE: 978-352-2200 MAIL ADDRESS: STREET 1: 100 HALE STREET CITY: NEWBURYPORT STATE: MA ZIP: 01950 10-K 1 ufpt20221231_10k.htm FORM 10-K ufpt20221231_10k.htm
0000914156 UFP TECHNOLOGIES INC false --12-31 FY 2022 0.01 0.01 1,000,000 1,000,000 0 0 0.01 0.01 20,000,000 20,000,000 7,611,244 7,581,685 7,564,645 7,535,086 29,559 29,559 0 0 0 0 0 19.0 20 11.9 9.3 20 11.9 9.5 0.25 0 2019 2020 2021 2022 2018 2019 2020 2021 2022 0 0 9,876 10,716 14,892 0 0 None None no 10 1 1 1 1 1 Certain amounts for the three and nine months ended September 30, 2021, were reclassified between markets to conform to the current period presentation. 00009141562022-01-012022-12-31 iso4217:USD 00009141562022-06-30 xbrli:shares 00009141562023-03-10 thunderdome:item 00009141562022-12-31 00009141562021-12-31 iso4217:USDxbrli:shares 00009141562021-01-012021-12-31 00009141562020-01-012020-12-31 0000914156ufpt:CommonStockOutstandingMember2019-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2019-12-31 0000914156us-gaap:RetainedEarningsMember2019-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-31 0000914156us-gaap:TreasuryStockMember2019-12-31 00009141562019-12-31 0000914156ufpt:CommonStockOutstandingMember2020-01-012020-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2020-01-012020-12-31 0000914156us-gaap:RetainedEarningsMember2020-01-012020-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-12-31 0000914156us-gaap:TreasuryStockMember2020-01-012020-12-31 0000914156ufpt:CommonStockOutstandingMember2020-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2020-12-31 0000914156us-gaap:RetainedEarningsMember2020-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-31 0000914156us-gaap:TreasuryStockMember2020-12-31 00009141562020-12-31 0000914156ufpt:CommonStockOutstandingMember2021-01-012021-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-31 0000914156us-gaap:RetainedEarningsMember2021-01-012021-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-31 0000914156us-gaap:TreasuryStockMember2021-01-012021-12-31 0000914156ufpt:CommonStockOutstandingMember2021-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2021-12-31 0000914156us-gaap:RetainedEarningsMember2021-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 0000914156us-gaap:TreasuryStockMember2021-12-31 0000914156ufpt:CommonStockOutstandingMember2022-01-012022-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-31 0000914156us-gaap:RetainedEarningsMember2022-01-012022-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-31 0000914156us-gaap:TreasuryStockMember2022-01-012022-12-31 0000914156ufpt:CommonStockOutstandingMember2022-12-31 0000914156us-gaap:AdditionalPaidInCapitalMember2022-12-31 0000914156us-gaap:RetainedEarningsMember2022-12-31 0000914156us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-31 0000914156us-gaap:TreasuryStockMember2022-12-31 utr:Y 0000914156us-gaap:MachineryAndEquipmentMembersrt:MinimumMember2022-01-012022-12-31 0000914156us-gaap:MachineryAndEquipmentMembersrt:MaximumMember2022-01-012022-12-31 0000914156ufpt:FurnitureFixturesAndComputersMembersrt:MinimumMember2022-01-012022-12-31 0000914156ufpt:FurnitureFixturesAndComputersMembersrt:MaximumMember2022-01-012022-12-31 0000914156srt:MinimumMember2022-01-012022-12-31 0000914156srt:MaximumMember2022-01-012022-12-31 0000914156srt:RevisionOfPriorPeriodReclassificationAdjustmentMember2022-01-012022-12-31 0000914156ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember2022-07-26 0000914156ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMemberus-gaap:ScenarioAdjustmentMember2022-07-26 0000914156ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember2022-01-012022-12-31 0000914156ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember2021-01-012021-12-31 xbrli:pure 0000914156ufpt:AdvantMedicalMember2022-03-16 iso4217:EUR 0000914156ufpt:AdvantMedicalMember2022-03-162022-03-16 0000914156ufpt:AdvantMedicalMember2022-03-172022-03-17 0000914156ufpt:AdvantMedicalMember2022-03-17 0000914156ufpt:AdvantMedicalMemberufpt:CustomerContractsAndRelationshipsMember2022-03-17 0000914156ufpt:AdvantMedicalMemberus-gaap:IntellectualPropertyMember2022-03-17 0000914156ufpt:AdvantMedicalMemberus-gaap:NoncompeteAgreementsMember2022-03-17 0000914156ufpt:AdvantMedicalMember2022-01-012022-12-31 0000914156ufpt:AdvantMedicalMember2021-01-012021-12-31 0000914156ufpt:DasMedicalMember2021-12-22 0000914156ufpt:DasMedicalMember2021-12-222021-12-22 0000914156ufpt:DasMedicalMemberufpt:GoodwillAgreementMember2021-12-222021-12-22 0000914156ufpt:DasMedicalMemberufpt:NoncompetitionAgreementsMember2021-12-222021-12-22 0000914156ufpt:DasMedicalMember2021-12-212021-12-21 0000914156ufpt:DasMedicalMember2021-12-21 0000914156ufpt:DasMedicalMemberufpt:CustomerContractsAndRelationshipsMember2021-12-21 0000914156ufpt:DasMedicalMemberus-gaap:IntellectualPropertyMember2021-12-21 0000914156ufpt:DasMedicalMemberus-gaap:NoncompeteAgreementsMember2021-12-21 0000914156ufpt:DasMedicalMember2022-01-012022-12-31 0000914156ufpt:DasMedicalMember2021-01-012021-12-31 0000914156ufpt:ContechMedicalIncMember2021-10-12 0000914156ufpt:ContechMedicalIncMember2021-10-122021-10-12 0000914156ufpt:ContechMedicalIncMemberufpt:CustomerContractsAndRelationshipsMember2021-10-12 0000914156ufpt:ContechMedicalIncMemberus-gaap:IntellectualPropertyMember2021-10-12 0000914156ufpt:ContechMedicalIncMemberus-gaap:NoncompeteAgreementsMember2021-10-12 0000914156ufpt:ContechMedicalIncMember2022-01-012022-12-31 0000914156ufpt:ContechMedicalIncMember2021-01-012021-12-31 0000914156ufpt:ContechMedicalIncAndDasMedicalMember2021-01-012021-12-31 0000914156ufpt:ContechMedicalIncAndDasMedicalMember2020-01-012020-12-31 0000914156us-gaap:ProductMember2022-01-012022-12-31 0000914156us-gaap:ProductMember2021-01-012021-12-31 0000914156us-gaap:ProductMember2020-01-012020-12-31 0000914156ufpt:ToolingAndMachineryMember2022-01-012022-12-31 0000914156ufpt:ToolingAndMachineryMember2021-01-012021-12-31 0000914156ufpt:ToolingAndMachineryMember2020-01-012020-12-31 0000914156ufpt:EngineeringAndDevelopmentMember2022-01-012022-12-31 0000914156ufpt:EngineeringAndDevelopmentMember2021-01-012021-12-31 0000914156ufpt:EngineeringAndDevelopmentMember2020-01-012020-12-31 0000914156ufpt:DeferredRevenueMember2022-01-012022-12-31 0000914156ufpt:DeferredRevenueMember2021-01-012021-12-31 0000914156us-gaap:CustomerListsMember2022-01-012022-12-31 0000914156ufpt:IntellectualPropertyTradenameAndBrandMember2022-01-012022-12-31 0000914156us-gaap:NoncompeteAgreementsMember2022-01-012022-12-31 0000914156us-gaap:CustomerListsMember2022-12-31 0000914156ufpt:IntellectualPropertyTradenameAndBrandMember2022-12-31 0000914156us-gaap:NoncompeteAgreementsMember2022-12-31 0000914156us-gaap:CustomerListsMember2021-01-012021-12-31 0000914156ufpt:IntellectualPropertyTradenameAndBrandMember2021-01-012021-12-31 0000914156us-gaap:NoncompeteAgreementsMember2021-01-012021-12-31 0000914156us-gaap:CustomerListsMember2021-12-31 0000914156ufpt:IntellectualPropertyTradenameAndBrandMember2021-12-31 0000914156us-gaap:NoncompeteAgreementsMember2021-12-31 0000914156us-gaap:LandAndLandImprovementsMember2022-12-31 0000914156us-gaap:LandAndLandImprovementsMember2021-12-31 0000914156us-gaap:BuildingAndBuildingImprovementsMember2022-12-31 0000914156us-gaap:BuildingAndBuildingImprovementsMember2021-12-31 0000914156us-gaap:LeaseholdImprovementsMember2022-12-31 0000914156us-gaap:LeaseholdImprovementsMember2021-12-31 0000914156us-gaap:MachineryAndEquipmentMember2022-12-31 0000914156us-gaap:MachineryAndEquipmentMember2021-12-31 0000914156ufpt:FurnitureFixturesAndComputersMember2022-12-31 0000914156ufpt:FurnitureFixturesAndComputersMember2021-12-31 0000914156us-gaap:ConstructionInProgressMember2022-12-31 0000914156us-gaap:ConstructionInProgressMember2021-12-31 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMember2021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMemberufpt:SecuredTermLoanMember2021-12-22 0000914156ufpt:SecuredRevolvingCreditFacilityMemberufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMember2021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMemberufpt:SecuredTermLoanMember2021-12-222021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMembersrt:MinimumMemberufpt:BloombergShorttermBankYieldIndexRateMember2021-12-222021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMembersrt:MaximumMemberufpt:BloombergShorttermBankYieldIndexRateMember2021-12-222021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMembersrt:MinimumMemberus-gaap:PrimeRateMember2021-12-222021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMembersrt:MaximumMemberus-gaap:PrimeRateMember2021-12-222021-12-22 0000914156ufpt:SecondAmendedAndRestatedCreditAgreementMemberufpt:SubsidiaryGuarantorsMember2022-12-31 0000914156us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2022-12-31 0000914156ufpt:TermLoanMember2022-12-31 0000914156us-gaap:InterestRateSwapMember2018-02-01 0000914156us-gaap:InterestRateSwapMember2018-02-012018-02-01 0000914156us-gaap:InterestRateSwapMember2022-12-31 0000914156us-gaap:OtherCurrentLiabilitiesMemberus-gaap:InterestRateSwapMember2022-12-31 0000914156us-gaap:OtherCurrentLiabilitiesMemberus-gaap:InterestRateSwapMember2021-12-31 0000914156us-gaap:InterestRateSwapMemberus-gaap:OtherNonoperatingIncomeExpenseMember2022-01-012022-12-31 0000914156us-gaap:InterestRateSwapMemberus-gaap:OtherNonoperatingIncomeExpenseMember2021-01-012021-12-31 0000914156us-gaap:DomesticCountryMember2022-01-012022-12-31 0000914156us-gaap:ForeignCountryMember2022-01-012022-12-31 0000914156ufpt:The2003IncentivePlanMember2003-06-012022-12-31 0000914156us-gaap:RestrictedStockMemberufpt:The2003IncentivePlanMember2003-06-012022-12-31 0000914156us-gaap:RestrictedStockMemberufpt:The2003IncentivePlanMember2022-12-31 0000914156ufpt:The2003IncentivePlanMember2022-12-31 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2022-06-08 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2022-06-09 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2022-06-102022-12-31 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2022-12-31 0000914156us-gaap:RestrictedStockMemberufpt:NonemployeeDirectorStockIncentivePlanMember2022-12-31 0000914156us-gaap:CommonStockMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-31 0000914156us-gaap:CommonStockMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-31 0000914156us-gaap:CommonStockMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-12-31 0000914156us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-31 0000914156us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-31 0000914156us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-12-31 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2022-01-012022-12-31 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2021-01-012021-12-31 0000914156ufpt:NonemployeeDirectorStockIncentivePlanMember2020-01-012020-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMember2021-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMember2022-01-012022-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMember2022-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMember2021-01-012021-12-31 0000914156ufpt:EmployeeAndNonemployeeStockOptionMember2020-01-012020-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMember2021-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMember2022-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-31 0000914156us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-12-31 0000914156ufpt:RightOfUseAssetsMember2022-12-31 0000914156ufpt:RightOfUseAssetsMember2021-12-31 0000914156ufpt:LeaseLiabilitiesCurrentMember2022-12-31 0000914156ufpt:LeaseLiabilitiesCurrentMember2021-12-31 0000914156ufpt:LeaseLiabilitiesNoncurrentMember2022-12-31 0000914156ufpt:LeaseLiabilitiesNoncurrentMember2021-12-31 0000914156us-gaap:OtherCurrentLiabilitiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-31 0000914156us-gaap:OtherCurrentLiabilitiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0000914156us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-31 0000914156us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-31 0000914156ufpt:ContechMedicalIncAndDasMedicalMember2022-12-31 0000914156ufpt:DasMedicalMember2022-12-31 0000914156us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:GeographicDistributionForeignMember2022-01-012022-12-31 0000914156us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-31 0000914156us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMemberufpt:OneCustomerMember2022-01-012022-12-31 0000914156us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-03-31 0000914156us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-31 0000914156us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-31 0000914156us-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMemberufpt:OneCustomerMember2022-01-012022-12-31 0000914156ufpt:LonglivedAssetsMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:GeographicDistributionForeignMember2022-01-012022-12-31 0000914156ufpt:MedicalMember2022-01-012022-12-31 0000914156ufpt:MedicalMember2021-01-012021-12-31 0000914156ufpt:MedicalMember2020-01-012020-12-31 0000914156ufpt:AutomotiveMember2022-01-012022-12-31 0000914156ufpt:AutomotiveMember2021-01-012021-12-31 0000914156ufpt:AutomotiveMember2020-01-012020-12-31 0000914156ufpt:ConsumerMember2022-01-012022-12-31 0000914156ufpt:ConsumerMember2021-01-012021-12-31 0000914156ufpt:ConsumerMember2020-01-012020-12-31 0000914156ufpt:AerospaceDefenseMember2022-01-012022-12-31 0000914156ufpt:AerospaceDefenseMember2021-01-012021-12-31 0000914156ufpt:AerospaceDefenseMember2020-01-012020-12-31 0000914156ufpt:IndustrialMember2022-01-012022-12-31 0000914156ufpt:IndustrialMember2021-01-012021-12-31 0000914156ufpt:IndustrialMember2020-01-012020-12-31 0000914156ufpt:ElectronicsMember2022-01-012022-12-31 0000914156ufpt:ElectronicsMember2021-01-012021-12-31 0000914156ufpt:ElectronicsMember2020-01-012020-12-31 00009141562022-01-012022-03-31 00009141562022-04-012022-06-30 00009141562022-07-012022-09-30 00009141562022-10-012022-12-31 00009141562021-01-012021-03-31 00009141562021-04-012021-06-30 00009141562021-07-012021-09-30 00009141562021-10-012021-12-31
 

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 December 31, 2022

  
 

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: 001-12648

 

UFP Technologies, Inc.

(Exact name of registrant as specified in its charter)

 

Delaware

04-2314970

(State or other jurisdiction of

(I.R.S. Employer

incorporation or organization)

Identification No.)

  

100 Hale Street, Newburyport, MA  USA

01950-3504

(Address of principal executive offices)

(Zip Code)

 

(978) 352-2200

(Registrant’s telephone number, including area code)

 

Securities registered pursuant to Section 12(b) of the Act:

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock

UFPT

The NASDAQ Stock Market L.L.C.

 

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 Exchange 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 during the preceding 12 months (or for such shorter period that the registrant was required to submit and post 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. 

 

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 voting and non-voting common equity held by non-affiliates of the registrant as of the last business day of the registrant’s most recently completed second fiscal quarter was approximately $552,925,326, based on the closing sales price of $79.57 per share of such stock on the NASDAQ Capital Market on June 30, 2022.

 

As of March 10, 2023, there were 7,610,051 shares of common stock, $0.01 par value per share, of the registrant outstanding.

 

DOCUMENTS INCORPORATED BY REFERENCE

 

Document

Parts of this Form 10-K Into Which Incorporated

Portions of the registrant’s Proxy Statement for the 2023 Annual Meeting of Shareholders.

Part III

 

 

 
 
 

PART I

 

SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS

 

Some of the statements contained in this Report are forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended (“Exchange Act”). Management and representatives of UFP Technologies, Inc. (the “Company”) also may from time to time make forward-looking statements. These statements are subject to known and unknown risks, uncertainties, and other factors, which may cause our or our industry’s actual results, performance, or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. Forward-looking statements include, but are not limited to, statements about the Company’s prospects; statements about the potential further impact the novel coronavirus ("COVID-19") pandemic may have on the Company’s business, financial condition and results of operations, including with respect to the different markets in which the Company participates, the demand for its products, the well-being and availability of the Company’s employees, the continuing operation of the Company’s locations, delayed payments by the Company’s customers and the potential for reduced or canceled orders, the Company’s efforts to address the pandemic, including regarding the safety of its employees, the maintenance of its facilities and the sufficiency of the Company’s supply chain, inventory, liquidity and capital resources, including increased costs in connection with such efforts, the impact of the pandemic on the businesses of the Company’s suppliers and customers, and the overall impact the pandemic may have on the Company’s financial results in 2023; statements about the Company’s acquisition strategies and opportunities and the Company’s growth potential and strategies for growth; expectations regarding customer demand; expectations regarding the Company’s liquidity and capital resources, including the sufficiency of its cash reserves and the availability of borrowing capacity to fund operations and/or potential future acquisitions; anticipated revenues and the timing of such revenues; expectations about shifting the Company’s book of business to higher-margin, longer-run opportunities; anticipated trends and potential advantages in the different markets in which the Company competes, including the medical, aerospace and defense, automotive, consumer, electronics, and industrial markets, and the Company’s plans to expand in certain of its markets; statements regarding anticipated advantages the Company expects to realize from its investments and capital expenditures; statements regarding anticipated advantages to improvements and alterations at the Company’s existing plants; expectations regarding the Company’s manufacturing capacity, operating efficiencies, and new production equipment; statements about new product offerings and program launches; statements about the Company’s participation and growth in multiple markets; statements about the Company’s business opportunities; and any indication that the Company may be able to sustain or increase its sales, earnings or earnings per share, or its sales, earnings or earnings per share growth rates.

 

Investors are cautioned that such forward-looking statements involve risks and uncertainties that could adversely affect the Company’s business and prospects, and otherwise cause actual results to differ materially from those anticipated by such forward-looking statements, or otherwise, including without limitation: the ongoing effects of the COVID-19 pandemic and its impact on the markets in which the Company participates, including its impact on the Company’s customers, suppliers and employees, as well as the U.S. and worldwide economies; risks and uncertainties associated with the ongoing effects of the COVID-19 pandemic and its impact on the Company’s business, financial condition and results of operations, including risks relating to decreased, including substantially decreased, demand for the Company’s products; risks relating to the potential closure of any of the Company’s facilities or the unavailability of key personnel or other employees; risks that the Company’s inventory, cash reserves, liquidity or capital resources may be insufficient; risks relating to delayed payments by our customers and the potential for reduced or canceled orders; risks relating to the increased costs associated with the Company’s efforts to respond to the pandemic; risks associated with the identification of suitable acquisition candidates and the successful, efficient execution of acquisition transactions, the integration of any such acquisition candidates, the value of those acquisitions to our customers and shareholders, and the financing of such acquisitions; risks related to our indebtedness and compliance with covenants contained in our financing arrangements, and whether any available financing may be sufficient to address our needs; risks associated with efforts to shift the Company’s book of business to higher-margin, longer-run opportunities; risks associated with the Company’s entry into and growth in certain markets; risks and uncertainties associated with seeking and implementing manufacturing efficiencies and implementing new production equipment; risks and uncertainties associated with growth of the Company’s business and increases to sales, earnings and earnings per share; and risks associated with new product and program launches. Accordingly, actual results may differ materially.

 

3

 

In some cases, you can identify forward-looking statements by terms such as “may,” “will,” “should,” “could,” “would,” “expects,” “plans,” “anticipates,” “believes,” “estimates,” “projects,” “predicts,” “potential,” and similar expressions intended to identify forward-looking statements. Our actual results could be different from the results described in or anticipated by our forward-looking statements due to the inherent uncertainty of estimates, forecasts, and projections, and may be materially better or worse than anticipated. Given these uncertainties, you should not place undue reliance on these forward-looking statements. Forward-looking statements represent our current beliefs, estimates and assumptions and are only as of the date of this Report. We expressly disclaim any duty to provide updates to forward-looking statements, and the estimates and assumptions associated with them, after the date of this Report, in order to reflect changes in circumstances or expectations, or the occurrence of unanticipated events, except to the extent required by applicable securities laws. All of the forward-looking statements are qualified in their entirety by reference to the factors discussed above and under “Risk Factors” set forth in Part I Item 1A of this Report, as well as the risks and uncertainties discussed elsewhere in this Report. We qualify all of our forward-looking statements by these cautionary statements. We caution you that these risks are not exhaustive. We operate in a continually changing business environment and new risks emerge from time to time.

 

Unless the context requires otherwise, the terms “we”, “us”, “our”, or “the Company” refer to UFP Technologies, Inc. and its consolidated subsidiaries.

 

ITEM 1.         BUSINESS

 

The Company is a design, engineering, and custom manufacturer of comprehensive solutions for medical devices, sterile packaging, and other highly engineered custom products. The Company is an important link in the medical device supply chain and a valued outsource partner to many of the top medical device manufacturers in the world. The Company’s single-use and single-patient devices and components are used in a wide range of medical devices and packaging for minimally invasive surgery, infection prevention, wound care, wearables, orthopedic soft goods, and orthopedic implants.

 

The Company is diversified by also providing highly engineered products and components to customers in the automotive, aerospace and defense, and industrial markets. Typical applications of its products include military uniform and gear components, automotive interior trim, air filtration, and protective cases and inserts.

 

The Company was incorporated in the State of Delaware in 1993.

 

The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (“Molded Fiber”) (partial year; entity was sold in July 2022), Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries, UFP MA, LLC, UFP CO, LLC, UFP FL, LLC, UFP TX, LLC, UFP MI, LLC, and UFP IA, LLC. All significant inter-company balances and transactions have been eliminated in consolidation. FlexShield®, FirmaLite®, Winepacks®, BioShell®, T-Tubes®, Tri-Covers®, Erasables®, Design Nail®, Pro-Sticks®, Cryoshell® Case Fit®, Alloshell®, ControlClean®, Flash Shiner® and Mambo® are our U.S. registered trademarks. Each trademark, trade name, or service mark of any other company appearing in this Report belongs to its respective holder.

 

Available Information

 

The Company’s Internet website address is http://www.ufpt.com. Through its website, the Company makes available, free of charge, its annual report on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K and any amendments to those reports, as soon as reasonably practicable after the Company electronically files such material with, or furnishes it to, the Securities and Exchange Commission (“SEC”). These SEC reports can be accessed through the investor relations section of the Company’s website. The information found on the Company’s website is not part of this or any other report filed with or furnished to the SEC. The SEC maintains an Internet website that contains reports, proxy and information statements, and other information regarding the Company and other issuers that file electronically with the SEC. The SEC’s Internet website address is http://www.sec.gov.

 

4

 

Market Overview

 

The applications for the Company’s products are numerous and diverse. The Company sells its products into distinct markets with its primary focus on the medical market:

 

 

MedTech  The global medical market is large, growing, and varied but the Company targets and operates in specific segments where its design and manufacturing expertise and access to highly specialized materials helps customers differentiate products, improve patient outcomes, and increase their client’s speed to market. The product segments we target and operate in include; infection control, orthopedics, interventional & surgical, surfaces & support, therapeutics, diagnostics, wound care, and biopharma.

 

 

Automotive  Automotive companies are challenged with creating quieter, safer and more efficient vehicles. The Company partners with OEMs, Tier 1 suppliers, and its own material manufacturers to develop customized solutions to solve automakers’ biggest challenges.

 

 

Aerospace & Defense – With regard to the aerospace market, the Company primarily targets commercial aircraft manufacturers to address the need for improved safety, better fuel economy, lower emissions, and overall passenger comfort. With regard to the defense market, as a long-time supplier to military defense contractors and law enforcement, the Company provides highly innovative solutions to ensure soldier safety, improve comfort, and protect mission critical equipment.

 

 

Consumer & Electronics –For sports and leisure, the Company is an innovator in comfort cushioning for helmets and other protective gear.

 

 

Industrial – The applications for the Company’s industrial products are highly diverse. Examples include air and liquid filters, thermal & acoustic insulation, seals, and gaskets.

 

Products

 

The Company’s custom products are targeted at macro market trends and create specific opportunities in niche segments where the Company’s access to specialty materials, engineering know-how, and processing expertise can be leveraged to create value for its customers. Examples of its custom products targeted to specific markets include:

 

 

MedTech – Protective drapes for robotic surgery, single patient use surfaces, advanced wound care, infection prevention, disposables for surgical and endoscopic procedures, packaging for orthopedic implants, orthopedic appliances, biopharma drug manufacturing and coils for catheters. In general, the Company’s solutions are all aimed at improving treatment outcomes while reducing risk and cost.

 

 

Automotive – Molded components designed to make cars lighter (therefore more fuel efficient), quieter, and safer. Applications include acoustic insulation, interior trim, load floors, sunshades, SUV cargo cover handles, driveshaft damping, engine & manifold covers, quarter panels and wheel liners.

 

 

Aerospace & Defense – With regard to the aerospace market, molded composites for commercial aviation to make planes lighter and safer. With regard to the defense market, molded composites for military gear to improve the safety and comfort of soldiers. Applications include backpack components, knee and elbow pads, eyewear, and helmets.

 

 

Consumer and Electronic Packaging – 100% recycled protective packaging for business-to-consumer brands primarily focused on electronics, candles, wine, and other high-volume consumer products using the “next day” carrier infrastructure.

 

 

5

 

 

 

Specialty Case Solutions – Reusable cases and custom inserts to quickly and safely transport, store, and deploy mission-critical equipment. Applications include military ballistics panels, virtual training systems, drones, communications equipment, and rugged portable computers.

 

Regulatory Climate and Environmental Considerations

 

The Company’s medical customers typically require FDA approval for their products and therefore sometimes require their suppliers to manufacture in facilities that are FDA registered and comply with the ISO 13485 quality standard for medical devices. The Company has eleven manufacturing locations that are ISO 13485 certified and eight that are FDA registered. The Company’s automotive customers sometimes require their suppliers to certify their manufacturing locations to the IATF 16949 automotive quality standard. The Company’s Grand Rapids, MI facility meets this requirement. The Company designs products to provide optimum performance with minimum material. In addition, the Company bales and disposes of certain of its urethane foam scrap for use in the carpeting industry. The Company’s Newburyport, MA facility utilizes solar power to provide approximately 11% of its electricity, with plans to increase capacity in the future. The Company is aware of public support for environmentally-responsible packaging and products. Future government action may impose restrictions affecting the industry in which the Company operates. There can be no assurance that any such action will not adversely impact the Company’s products and business.

 

Marketing and Sales

 

The Company markets to the target industries it serves by promoting specific solutions, materials, and manufacturing capabilities and services. The Company markets through websites, trade shows and expositions, social media, online advertising, emails, and press releases. Its relationships with key material suppliers are also an important part of its marketing and sales efforts. The Company markets and sells its products in the principally through a direct sales force. The Company’s commercial leaders, in conjunction with Company engineers, collaborate with customers and in-house design and manufacturing experts to develop custom-engineered solutions on a cost-effective basis. For the year ended December 31, 2022, one customer’s sales were approximately 21% of total sales; no other customer’s sales exceeded 10% of total sales. Seasonality is not a major factor in the Company’s sales. See the Company’s consolidated financial statements contained in Part IV, Item 15, of this Report for net sales by market.

 

Manufacturing

 

The Company’s manufacturing operations consist primarily of cutting, routing, compression and injection, molding, vacuum-forming, laminating, radio frequency and impulse welding and assembling. For medical custom-molded foam products and thermoplastic welded devices, the Company’s skilled engineering personnel analyze specific customer requirements to design and build prototype products to determine product functionality. Upon customer approval, prototypes are converted to final designs for commercial production runs. Molded cross-linked foam products are produced in a thermoforming process using heat, pressure, and precision metal tooling. Plastics and other materials are sealed using radio frequency and impulse welding. Reticulated polyurethane foam is also used for many high-performance medical products requiring precision fluid or air management. These products are typically fabricated using high speed die-cutting or waterjet cutting. Laminated products for medical, military, and personal comfort and protection are produced through a process whereby the foam medium is heated to the melting point. The heated foam is then typically bonded to a non-foam material through the application of mechanical pressure.

 

The Company also engineers components for automotive use as interior trim and structural applications. These components are produced using a compression molding process to create highly functional composites consisting of various materials such as polypropylene/fiberglass panels, nonwovens, and fabrics. Highly specialized polypropylene based nonwoven material is used for automotive interior noise reduction and is fabricated using a die cut process. Foam for filtration, acoustical, and thermal insulation products that do not utilize cross-linked foam are fabricated by cutting shapes from blocks of foam, using specialized cutting tools, routers, water jets, and hot wire equipment, and assembling these shapes into the final product using a variety of foam welding or gluing techniques. Products can be used on a stand-alone basis or bonded to another foam product or other material such as a corrugated medium.

 

6

 

The Company does not manufacture any of the raw materials used in its products. With the exception of certain grades of cross-linked foam and technical polyurethane foams, these raw materials are available from multiple supply sources. Although the Company relies upon a limited number of suppliers for cross-linked and technical polyurethane foams, the Company’s relationships with its suppliers are good, and the Company expects that these suppliers will be able to meet its requirements for these foams. Any delay or interruption in the supply of raw materials could have a material adverse effect on the Company’s business.

 

Research and Development

 

The Company’s engineering personnel continuously explore design and manufacturing techniques, as well as new and innovative materials to meet the unique demands and specifications of its customers. Research and development is an integral part of the Company’s ongoing cost structure.

 

Competition

 

The medical design and contract manufacturing industry is highly competitive as is the foam and plastics converting industry as a whole. While there are several national companies that convert foam and plastics, the Company’s primary competition is from smaller independent regional manufacturing companies. These companies generally market their products in specific geographic areas from neighboring facilities. The Company’s custom engineered products face competition primarily from smaller companies that typically concentrate on production of products for specific industries. The Company expects to compete effectively in the engineered products market due to its ability to address its customers' primary vendor selection criteria, including price, product performance, product reliability, and customer service, as well as its access to a wide variety of materials, its engineering expertise, its ability to combine foams with other materials such as plastics and laminates, and its ability to manufacture products in a clean room environment.

 

Patents and Other Proprietary Rights

 

The Company relies upon trade secrets, patents, and trademarks to protect its technology and proprietary rights. The Company believes the improvement of existing products, reliance upon trade secrets and unpatented proprietary know-how, and the development of new products are generally as important as patent protection in establishing and maintaining a competitive advantage. Nevertheless, the Company has obtained patents and may continue to make efforts to obtain patents, when available, although there can be no assurance that any patent obtained will provide substantial protection or be of commercial benefit to the Company, or that its validity will be upheld if challenged. The Company has a total of 18 active patents relating to technologies including foam, packaging, tool control technologies, radio frequency welding, automotive superforming processes and certain nail file technologies. The Company also has patent applications in process. There can be no assurance that any patent or patent application will provide significant protection for the Company’s products and technology or will not be challenged or circumvented by others. The expiration dates for the Company’s patents range from 2023 through 2039.

 

Human Capital Management

 

As of January 28, 2023, the Company had a total of 2665 full-time employees (compared to 1828 full-time employees as of January 29, 2022) and 303 temporary employees (compared to 187 temporary employees at January 29, 2022). The Company is not a party to any collective bargaining agreements. The Company considers its employee relations to be good.

 

The Company strives to promote a workplace that is professional, provides opportunity for career growth and treats all workers with dignity and respect. The Company will not tolerate unlawful discrimination and harassment in the workplace; it expressly prohibits any form of unlawful discrimination or harassment based on race, color, religion, sex, sexual orientation, gender identity or expression, national origin, ethnicity, age, physical or mental disability, genetic information, military or veteran status, pregnancy, childbirth or related medical conditions, or any other legally protected status under applicable federal, state, or local law.

 

The Company’s employees are tasked with upholding our Code of Ethics and Business Conduct, which we view as an important component of our operating strategy. This policy covers the conduct of the Company's employees in their work-related dealings with each other, as well as interactions with our customers, vendors, and other business partners. The Company’s compliance hotline is maintained for the confidential reporting of any suspected policy violations or unethical business conduct.

 

7

 

The Company’s commitment to its employees starts at the top with an executive-level officer – Senior Vice President of Human Resources (“SVP of HR”) – reporting to the CEO, attending all board meetings, and having significant involvement with the board’s compensation committee. This commitment is reflected in our efforts to attract, engage, and retain the best people possible.

 

Compensation and Benefits

 

The Company’s compensation and benefits offerings are supported by regular third-party benchmarking surveys. In addition to competitive compensation practices, the Company offers annual stock award bonus programs to reward and retain executives and key employees. Access to company subsidized health, life and disability insurance; a matching 401(k) plan; and paid time off for vacation, illness and personal reasons, are the highlights of the Company’s benefits available to all eligible full-time employees. For those employees struggling with life’s challenges, the Company offers employee assistance programs.

 

Growth and Development

 

The Company supports every employee’s opportunity for career growth. It offers tuition reimbursement for employees to further their industry-related formal education; access to virtual training and education platforms; reimbursement to attend work-related seminars; and on-the-job training and cross-training to improve job skills. Its talent management program provides feedback on performance, identifies employees with potential for advancement, and allows for personalized career development plans.

 

The Company’s commitment to its employees has resulted in several national, regional, and local “Best in Class” awards.

 

Safety

 

As an essential manufacturing company, the Company takes its responsibility to our essential employees’ health and safety seriously. Its corporate safety officer reports directly to the SVP of HR and works with dedicated safety officers at each of our plants to implement safety programs and training. Safety audits are conducted regularly to ensure compliance.

 

ITEM 1A.      RISK FACTORS

 

The risks factors described below could materially impact our business, including our results of operations and financial results. These are the risks and uncertainties we believe are most important for you to consider. Additional risks and uncertainties not presently known to us, which we currently deem immaterial, or which are similar to those faced by other companies in our industry or business in general, may also impair our business operations. If any of the following risks or uncertainties occurs, our business, financial condition and operating results would likely suffer.

 

Risks Related to our Business

 

Our business, operating results, and cash flows have been affected and may continue to be adversely affected by the rising rate of inflation.

 

Inflationary pressures have increased due to general macroeconomic factors as well as the global supply chain disruptions, labor shortages and other impacts of the ongoing effects of the COVID-19 pandemic. We expect those inflationary trends to continue for the foreseeable future. These inflationary pressures have affected our manufacturing costs, operating expenses (including wages) and other expenses. We may not be able to pass these cost increases on to our customers in a timely manner, which could have an impact on our gross margins and profitability. In addition, inflation has resulted in higher interest rates and could otherwise adversely impact the macroeconomic environment, which in turn could adversely impact our customers and their ability or willingness to purchase our products. Our inability to successfully manage the effects of inflation could have a material adverse effect on our business, results of operations and cash flows.

 

8

 

The ongoing conflict between Russia and Ukraine and the related implications could have a material adverse effect on our business and results of operations.

 

As a result of the ongoing military conflict between Russia and Ukraine, the United States and other countries have imposed significant sanctions on Russia and could impose even wider sanctions. The military conflict and related sanctions could damage or disrupt international commerce and the global economy. We cannot predict the broader or longer-term consequences of the conflict or of the sanctions imposed to date or in the future, which could include embargoes, regional instability, geopolitical shifts, exchange rate fluctuations, financial market disruptions and economic recession. Further, the conflict could exacerbate supply chain challenges, lead to an increase in cyberattacks from Russia, affect the global price and availability of key commodities, reduce our sales and earnings or otherwise have an adverse effect on our business and results of operations.

 

In addition, the conflict between Russia and Ukraine may have the effect of heightening other risks disclosed in this Form 10-K, any of which could materially and adversely affect our business and results of operations. Such risks include but are not limited to interruptions in the transportation channels for the manufacture and global distribution of our products, heightened inflation, depressed levels of consumer and commercial spending, adverse changes in international trade policies and relations, and the inability to implement and execute our business strategy. We are currently unable to predict the extent, nature or duration of any of these occurrences.

 

We depend on a small number of customers for a large percentage of our revenues. The loss of any such customer, a reduction in sales to any such customer, or the decline in the financial condition of any such customer could have a material adverse effect on our business, financial condition, and results of operations.

 

A limited number of customers typically represent a significant percentage of our revenues in any given year. Our top ten customers represented approximately 47%, 34%, and 38% of our total revenues in 2022, 2021, and 2020, respectively. One customer comprised approximately 21% of our total sales for the year ended December 31, 2022; no other customer’s sales exceeded 10% of our total sales for the year ended December 31, 2022. No one customer’s sales exceeded 10% of total sales for the years ended December 31, 2021 and 2020. The loss of a significant portion of our expected future sales to any of our large customers would have a material adverse effect on our business, financial condition, and results of operations. Likewise, a material adverse change in the financial condition of any of these customers could have a material adverse effect on our ability to collect accounts receivable from any such customer. One customer represented approximately 10% of gross accounts receivable for both years ended December 31, 2022 and 2021.

 

Our business could be harmed if our products contain undetected errors or defects or do not meet applicable specifications.

 

Based on customer specifications, we are continuously developing new products and improving existing products. Our existing and newly introduced products can contain undetected errors or defects. In addition, these products may not meet their performance specifications under all conditions or for all applications. If, despite internal testing and testing by customers, any of our products contain errors or defects or fail to meet applicable specifications, then we may be required to enhance or improve those products or technologies. We may not be able to do so on a timely basis, if at all, and may only be able to do so at considerable expense. If a particular error or defect is repeated throughout our production process, the cost of repairing such defect may be highly disproportionate to the original cost of the product or component. In addition, any significant errors, defects, or other performance failures could render our existing and/or future products unreliable or ineffective and could lead to decreased confidence in our products, adverse customer reaction, negative publicity, mandatory or voluntary recalls, or legal claims, the occurrence of any of which could have a material adverse effect upon our business, financial condition, and results of operations.

 

Further, if our products are defectively designed, manufactured, or labeled, contain defective components or are misused, we may become subject to costly litigation by our customers. Product liability claims could divert management's attention from our core business, be expensive to defend and result in sizable damage awards against us.

 

9

 

New technologies could result in the development of new products by our competitors and a decrease in demand for our products, which could materially adversely affect our business, financial condition and results of operations.

 

Our failure to develop new technologies, or anticipate or react to changes in existing technologies, could result in a decrease in our sales and a loss of market share to our competitors. Our financial performance depends on our ability to design, develop, and manufacture new products and product enhancements on a timely and cost-effective basis. We may not be able to successfully identify new product opportunities or develop and bring new products to market in a timely and cost-effective manner.

 

Products or technologies developed by other companies may render our products or technologies obsolete or noncompetitive. Our failure to identify or capitalize on any fundamental shifts in technologies, relative to our competitors, could have a material adverse effect on our competitive position within our industry and harm our relationships with our customers.

 

If we fail to comply with specific provisions in our customer contracts or Food and Drug Administration (FDA) regulations, our business could be materially adversely affected.

 

Our customer contracts, particularly with respect to contracts for which the government is a direct or indirect customer, may include unique and specialized requirements. This may also include contracts with customers that manufacture goods subject to FDA regulations. Failure to comply with the specific provisions in our customer contracts, or any violation of government or FDA contracting regulations, could result in termination of the contracts, increased costs to us, suspension of payments, imposition of fines, and suspension from future government contracting. Further, any negative publicity related to our failure to comply with the provisions in our customer contracts could have a material adverse effect on our business, financial condition, or results of operations.

 

We may pursue acquisitions or other strategic relationships that involve inherent risks, any of which may cause us to not realize anticipated benefits.

 

Our business strategy includes the potential acquisition of businesses and other business combinations that we expect will complement and expand our business. In addition, we may also pursue other strategic relationships or opportunities. We may not be able to success‐fully identify suitable acquisition or other strategic opportunities or complete any particular acquisition, combina‐tion, or other transaction on acceptable terms. Our identification of suitable acquisition candidates and strategic opportunities involves risks inherent in assessing the values, strengths, weaknesses, risks, and profitability of these opportunities including their effects on our business, diversion of our management’s attention and risks associated with unanticipated problems or unforeseen liabilities. Our failure to identify suitable acquisition or other strategic opportunities may restrict our ability to grow our business. If we are successful in pursuing future acquisitions or strategic opportunities, we may be required to expend significant funds, incur additional debt, or issue additional securities, which may materially and adversely affect our results of operations and be dilutive to our stockholders. If we spend significant funds or incur additional debt, our ability to obtain financing for working capital or other purposes could decline and we may be more vulnerable to economic downturns and competitive pressures. In addition, we cannot guarantee that we will be able to finance additional acquisi‐tions or that we will realize any anticipated benefits from acquisitions or other strategic opportunities that we complete. When and if we successfully acquire another business, the process of successfully integrating the acquired operations into our existing operations may result in unforeseen operating difficulties and may require significant financial re‐sources that would otherwise be available for the ongoing development or expansion of our existing business. Decreases in customer loyalty or product orders, failure to retain and develop the acquired workforce, failure to integrate financial reporting systems, failure to establish and maintain appropriate controls or unknown or contingent liabilities could adversely affect our ability to realize the anticipated benefits of an acquisition. The integration of an acquired business whether or not successful, requires significant efforts which may result in additional expenses and divert the attention of our management and technical personnel from other projects. These transactions are inherently risky, and there can be no assurance that any past or future transaction will be successful.

 

Failure to retain key personnel could impair our ability to execute our business strategy.

 

The continuing service of our executive officers and essential sales, engineering, technical and management personnel, together with our ability to attract and retain such personnel, is an important factor in our continuing ability to execute our strategy. There is substantial competition to attract such employees, and the loss of any such key employees could have a material adverse effect on our business and operating results. The same could be true if we were to experience a high turnover rate among sales, engineering and technical personnel and we were unable to replace them.

 

10

 

We operate in highly competitive industries and we may be unable to compete successfully, which could materially adversely affect our business, financial condition and results of operations.

 

We face intense competition in all markets and in each area of our business, in some cases from our own customers bringing programs in-house. Our primary competition for our products is from smaller, independent, regional manufacturing companies. Our current competitors may increase their participation in, or new competitors may enter into, the markets in which we compete. In addition, our suppliers may acquire or develop the capability and desire to compete with us. If our suppliers choose to expand their own operations, through acquisitions or otherwise, and begin manufacturing and selling products directly to our customers, it could reduce our pricing or sales volume and overall profitability. If we are unable to compete successfully with new or existing competitors, it could have a material adverse effect on our business, financial condition, and results of operations.

 

Further, technological innovation by any of our existing competitors, or new competitors entering any of the markets in which we do business, could put us at a competitive disadvantage and could cause us to lose market share. Increased competition for the sales of our products could result in price reductions, reduced margins, and loss of market share, which could materially adversely affect our prospects, business, financial condition and results of operations.

 

The cost of the raw materials we use to manufacture our products, particularly petroleum and petroleum-based raw materials, are subject to escalation and could increase, which may materially adversely affect our business, financial condition, and results of operations.

 

The cost of raw materials, including petroleum and petroleum-based raw materials such as resins, used in the production of our products, represents a significant portion of our direct manufacturing costs. Any fluctuations in the price of petroleum, or any other material used in the production of our products, may have a material adverse effect on our business, financial condition, and results of operations. Such price increases could reduce demand for our products. If we are not able to buy raw materials at fixed prices, or pass on price increases to our customers, we may lose orders or enter into orders with less favorable terms, either of which could have a material adverse effect on our business, financial condition, and results of operations.

 

Changes in domestic and global economic conditions, supply chain disruptions, labor shortages, the lingering effects of the COVID-19 pandemic, have led to higher inflation, which, in turn, has led to, and will likely continue to, increase the costs of the raw material we purchase. “Risk Factors Risks Related to our Business Our business, operating results, and cash flows have been affected and may continue to be adversely affected by the rising rate of inflation.”

 

Further, the global economy has been, and may continue to be, negatively impacted by the ongoing conflict resulting from Russia’s invasion of Ukraine in 2022. The negative impacts arising from the conflict and sanctions and export restrictions imposed by various countries, including those imposed by Russia, may include reduced consumer demand, supply chain disruptions, increased cybersecurity risks, and increased costs for transportation, energy, and raw materials. Although our operations do not take place in Russia or Ukraine further escalation of geopolitical tensions could have a broader impact that expands into other markets where we do business, which may adversely affect our business, financial condition and results of operations. Please see “Risk Factors Risks Related to our Business The ongoing conflict between Russia and Ukraine and the related implications could have a material adverse effect on our business and results of operations.”

 

Security breaches, including cybersecurity incidents and other disruptions could compromise our information, expose us to liability and harm our reputation and business.

 

In the ordinary course of our business we collect and store sensitive data, including intellectual property, personal information, our proprietary business information and that of our customers, suppliers and business partners, and personally identifiable information of our customers and employees in our data centers and on our networks. The secure maintenance and transmission of this information is critical to our operations and business strategy. We rely on commercially available systems, software, tools and monitoring to provide security for processing, transmission, and storage of confidential information. Computer hackers may attempt to penetrate our computer systems and, if successful, misappropriate personal or confidential business information. In addition, an employee, contractor, or other third-party with whom we do business may attempt to circumvent our security measures in order to obtain such information and may purposefully or inadvertently cause a breach involving such information. Despite the security measures we have in place and any additional measures we may implement in the future to safeguard our systems and to mitigate potential security risks, our facilities and systems, and those of our third-party service providers, could be vulnerable to security breaches. Any such compromise of our data security and access, public disclosure, or loss of personal or confidential business information could result in legal claims or proceedings, liability under laws that protect the privacy of personal information, regulatory penalties, disruption of our operations, damage to our reputation, loss of our customers’ willingness to transact business with us, and subject us to additional costs and liabilities which could materially adversely affect our business.

 

11

 

We may be unable to protect our proprietary technology from infringement.

 

We rely on a combination of patents, trademarks, and unpatented proprietary know-how and trade secrets to establish and protect our intellectual property rights. We enter into confidentiality agreements with suppliers, customers, employees, consultants, and potential acquisition candidates as necessary to protect our know-how, trade secrets and other proprietary information. However, these measures and our patents and trademarks may not afford complete protection of our intellectual property, and it is possible that third parties may copy or otherwise obtain and use our proprietary information and technology without authorization or otherwise infringe on our intellectual property rights. We cannot assure that our competitors will not independently develop equivalent or superior know-how, trade secrets or production methods. Significant impairment of our intellectual property rights could harm our business or our ability to compete. For example, if we are unable to maintain the proprietary nature of our technologies, our profit margins could be reduced as competitors could more easily imitate our products, possibly resulting in lower prices or lost sales for certain products. In such a case, our business, financial condition, and results of operations may be materially adversely affected.

 

Fluctuations in the supply of components and raw materials we use in manufacturing our products could cause production delays or reductions in the number of products we manufacture, which could materially adversely affect our business, financial condition, and results of operations.

 

Our business is subject to the risk of periodic shortages of raw materials. We purchase raw materials pursuant to purchase orders placed from time to time in the ordinary course of business. Failure or delay by such suppliers in supplying us necessary raw materials could adversely affect our ability to manufacture and deliver products on a timely and competitive basis.

 

While we believe that we may, in certain circumstances, secure alternative sources of these materials, we may incur substantial delays and significant expense in doing so, the quality and reliability of alternative sources may not be the same and our operating results may be materially adversely affected. Alternative suppliers might charge significantly higher prices for materials than we currently pay. Under such circumstances, the disruption to our business could have a material adverse impact on our customer relationships, business, financial condition, and results of operations.

 

In addition, we are dependent on a relatively small number of suppliers for cross-linked foam, thermoformed plastic urethane and technical polyurethane foams. While we believe that we have developed strong relationships with these suppliers, any failure or delay by such suppliers in supplying us these necessary products could adversely affect our ability to manufacture and deliver products on a timely and competitive basis.

 

Our products could infringe the intellectual property rights of others, which may lead to litigation that could itself be costly, result in the payment of substantial damages or royalties, and prevent us from using technology that is essential to our products.

 

We cannot guarantee that our products, manufacturing processes or other methods do not infringe the patents or other intellectual property rights of third parties. Infringement and other intellectual property claims and proceedings brought against us, whether successful or not, could result in substantial costs and harm our reputation. Such claims and proceedings can also distract and divert our management and key personnel from other tasks important to the success of our business. In addition, intellectual property litigation or claims could force us to do one or more of the following:

 

12

 

 

Cease selling or using any of our products that incorporate the asserted intellectual property, which would adversely affect our revenues;

 

 

Pay substantial damages for past use of the asserted intellectual property;

 

 

Obtain a license from the holder of the asserted intellectual property, which license may not be available on reasonable terms, if at all; and/or

 

 

Redesign or rename, in the case of trademark claims, our products to avoid infringing the intellectual property rights of third parties, which may be costly and time-consuming, even if possible.

 

In the event of an adverse determination in an intellectual property suit or proceeding, or our failure to license essential technology, our sales could be harmed, and our costs could increase, which could materially adversely affect our business, financial condition, and results of operations.

 

Reductions in the availability of energy supplies or an increase in energy costs may increase our operating costs.

 

We use electricity and natural gas at our manufacturing facilities to operate our equipment. Over the past several years, prices for electricity and natural gas have fluctuated significantly. An outbreak or escalation of hostilities between the United States and any foreign power, or between foreign powers, or a natural disaster, could result in a real or perceived shortage of petroleum and/or natural gas, which could result in an increase in the cost of electricity or energy generally as well as an increase in the cost of our raw materials, of which many are petroleum-based. In addition, increased energy costs negatively impact our freight costs due to higher fuel prices. Future limitations on the availability or consumption of petroleum products and/or an increase in energy costs, particularly electricity for plant operations, could have a material adverse effect upon our business, financial condition, and results of operations. 

 

Expansion of our operations into markets outside of the U.S. subjects us to political, economic, legal, operational, and other risks that could have a material adverse effect on our business, results of operations, financial condition, cash flows and reputation.

 

We have recently added manufacturing facilities in the Dominican Republic, Ireland, Costa Rica, and Mexico. We may continue to expand our operations by offering our services and entering new lines of business in other markets outside of the U.S. This expansion increases our exposure to the inherent risks of doing business in international markets. Depending on the market, these risks include those relating to:

 

 

Changes in the local economic environment including, among other things, labor cost increases and other general inflationary pressures;

 

Political instability, armed conflicts, or terrorism;

 

Public health crises, such as pandemics or epidemics, including the Covid-19 pandemic;

 

Social changes;

 

Intellectual property legal protections and remedies;

 

Trade regulations;

 

Procedures and actions affecting approval, production, pricing, reimbursement and marketing of products and services;

 

Foreign currency;

 

Additional U.S. and foreign taxes;

 

Export controls;

 

Antitrust and competition laws and regulations;

 

Lack of reliable legal systems which may affect our ability to enforce contractual rights;

 

Changes in local laws or regulations, or interpretation or enforcement thereof;

 

Potentially longer ramp-up times for starting up new operations, and for payment and collection cycles;

 

Financial, operational and information technology systems integration;

 

Failure to comply with U.S. laws, such as the foreign corrupt practices act, or local laws that prohibit us, our partners, or our partners’ or our agents or intermediaries from making improper payments to foreign officials or any third party for the purpose of obtaining or retaining business; and

 

Data and privacy restrictions.

 

13

 

Issues relating to the failure to comply with applicable non-U.S. laws, requirements or restrictions may also impact our domestic business and increase scrutiny of our domestic practices.

 

Additionally, some factors that will be critical to the success of our international business and operations will be different than those affecting our domestic business and operations. For example, conducting international operations requires us to devote significant management resources to implement our controls and systems in new markets, to comply with local laws and regulations, including fulfilling financial reporting and records retention requirements, and overcoming the numerous new challenges inherent in managing international operations, such as challenges based on differing languages and cultures, as well as differing regulatory and compliance environments, and challenges related to the timely hiring, integration and retention of a sufficient number of skilled personnel to carry out operations in an environment with which we are not familiar.

 

Any additional expansion of our international operations through acquisitions or through organic growth could increase these risks. Additionally, while we may invest material amounts of capital and incur significant costs in connection with the growth and development of our international operations, including the costs of starting up or acquiring new operations, we may not be able to operate them profitably on the anticipated timeline, or at all.

 

These risks could have a material adverse effect on our business, results of operations, financial condition, and cash flows, and could materially harm our reputation.

 

Risks Related to our Share Ownership and our Capital Structure

 

Restrictions in our credit facilities may limit our business and financial activities, including our ability to obtain additional capital in the future.

 

In December 2021, we entered into a secured $130 million Second Amended and Restated Credit Agreement with Bank of America, N.A., which provided for a $90 million revolving credit facility and a $40 million term loan facility. This Credit Agreement contains covenants imposing various restrictions on our business and financial activities. These restrictions may affect our ability to operate our business and undertake certain financial activities and may limit our ability to take advantage of potential business or financial opportunities as they arise. The restrictions these covenants place on us include limitations on our ability to incur liens, incur indebtedness, make investments, dissolve or merge or consolidate with or into another entity, dispose of certain property, and make restricted payments. The Credit Agreement also requires us to meet certain financial ratios, including a minimum fixed-charge coverage ratio and a maximum total funded debt to EBITDA ratio. The breach of any of these covenants or restrictions could result in a default under the Credit Agreement, which could have a material adverse impact to our business, financial condition, and results of operation.

 

We are also exposed to the risk of increasing interest rates as our revolving credit and term loan facilities are both at a variable interest rate. Any material changes in interest rates could result in higher interest expense and related payments for us.

 

Provisions of our corporate charter documents and Delaware law, may dissuade potential acquirers, prevent the replacement or removal of our current management, and may thereby affect the price of our common stock.

 

The board of directors has the authority to issue up to 1,000,000 shares of preferred stock and to determine the price, rights, preferences, privileges, and restrictions, including voting rights of those shares without any further vote or action by the stockholders. The rights of the holders of common stock will be subject to, and may be adversely affected by, the rights of the holders of any preferred stock that may be issued in the future. The issuance of preferred stock, while providing flexibility in connection with possible financings, acquisitions, and other corporate purposes, could have the effect of making it more difficult for a third party to acquire a majority of our outstanding voting stock. We have no present plans to issue shares of preferred stock.

 

Further, certain provisions of our certificate of incorporation, bylaws, and Delaware law could delay or make a merger, tender offer or proxy contest involving us or, for a third party to acquire a majority of our outstanding voting common stock more difficult. These include provisions that classify our board of directors, limit the ability of stockholders to take action by written consent, call special meetings, remove a director for cause, amend the bylaws, or approve a merger with another company. In addition, our bylaws set forth advance notice procedures for stockholders to nominate candidates for election as directors or to bring matters before an annual meeting of stockholders.

 

14

 

We are subject to the provisions of Section 203 of the Delaware General Corporation Law which prohibits a publicly-held Delaware corporation from engaging in a “business combination” with an “interested stockholder” for a period of three years after the date of the transaction in which the person became an interested stock‐holder, unless the business combination is approved in a prescribed manner. For purposes of Section 203, a “business combination” includes a merger, asset sale or other transaction resulting in a financial benefit to the interested stockholder, and an “interested stockholder” is a person who, either alone or together with affiliates and associates, owns (or within the past three years did own) 15% or more of the corporation’s voting stock.

 

General Risk Factors

 

We are subject to a variety of federal, state and local laws and regulations, including health and safety laws and regulations, and the cost of complying, or our failure to comply, with such requirements could materially adversely affect our business, financial condition and results of operations.

 

We are subject to a variety of federal, state and local laws and regulations, including health and safety laws and regulations. The risks of substantial costs and liabilities related to compliance with these laws and regulations are an inherent part of our business. Despite our intention to comply with these laws and regulations, we cannot guarantee that we will at all times comply with all such requirements. Compliance with health and safety legislation and other regulatory requirements may prove to be more limiting and costly than we anticipate and may also increase substantially in future years. If we violate, or fail to comply with these requirements, we could be fined or otherwise sanctioned by regulators. In addition, these requirements are complex, change frequently and may become more stringent over time, which could materially adversely affect our business, financial condition and results of operations.

 

Our operations could be disrupted by natural or human causes beyond our control.

 

Our operations are subject to the risk of disruption by hurricanes, severe storms, floods and other forms of severe weather, earthquakes and other natural disasters, accidents, fire, power shortages, geopolitical unrest, war and other military action, terrorist attacks and other hostile acts, public health issues, epidemics or pandemics, and other events, such as raw material or supply scarcity, that are beyond our control and the control of the third parties on which we depend. Any of these catastrophic events, whether in the United States or abroad, may have a strong negative impact on the global economy, our employees, facilities, suppliers, or customers, and could decrease demand for our products or our customers’ products, create delays and inefficiencies in our supply chain and make it difficult or impossible for us to deliver products to our customers in a timely manner. If there is a natural disaster or other serious disruption at any of our facilities, we may experience plant shutdowns or periods of reduced production as a result of equipment failures, loss of power, delays in delivery of raw materials or supplies, personnel absences, or extensive damage to any of our facilities, any of which could materially adversely affect our business, financial condition, or results of operations. In addition, our insurance coverage may not adequately compensate us for losses incurred as a direct or indirect result of natural or other disasters.

 

ITEM 1B.      UNRESOLVED STAFF COMMENTS.

 

None.

 

ITEM 2.         PROPERTIES

 

The following table presents certain information relating to each of the Company’s design and manufacturing properties:

 

15

 

Location

Square

Feet

Lease

Expiration Date

Principal Use

Newburyport, Massachusetts

183,000

Company Owned

Headquarters, fabrication, molding, tooling, test lab, clean room, warehousing, and engineering

Huntsville, Alabama

9,000

6/30/2031

Engineering, design, and fabrication

Grand Rapids, Michigan

255,260

Company Owned

Fabrication, molding, warehousing, and engineering

Rancho Dominguez, California

56,000

10/31/2027

Fabrication, molding and engineering

Denver, Colorado

18,270

Company Owned

Fabrication and molding

Denver, Colorado

28,383

Company Owned

Fabrication, molding and engineering

Kissimmee, Florida

49,400

Company Owned

Fabrication, molding, test lab and engineering

El Paso, Texas

127,730

Company Owned

Warehousing, fabrication, and molded fiber operations

Chicopee, Massachusetts

103,792

Company Owned

Fabrication, molding, clean room, warehousing, and engineering

Providence, Rhode Island

79,535

9/30/2026

Fabrication, molding, clean room, and warehousing

Dominican Republic

16,557

12/31/2024

Fabrication, molding, clean room, and warehousing

Dominican Republic

12,630

8/31/2023

Fabrication, molding, clean room, and warehousing

Dominican Republic

51,970

8/31/2025

Fabrication, molding, clean room, and warehousing

Tijuana, Mexico

83,256

2/29/2032

Fabrication, molding, and warehousing

Kennesaw, Georgia

11,017

12/31/2027

Warehousing

Galway, Ireland 35,069 Company Owned Fabrication, molding, clean room, and warehousing
Galway, Ireland 11,500 Monthly Rental Fabrication, molding, clean room, and warehousing
La Aurora, Heredia, Costa Rica 13,000 4/30/2028 Fabrication, molding, clean room, and warehousing

 

ITEM 3.         LEGAL PROCEEDINGS

 

From time to time, the Company may be a party to various suits, claims and complaints arising in the ordinary course of business and is currently a party to a single employee claim. In the opinion of management of the Company, this active claim should not result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company’s financial condition or results of operations.

 

ITEM 4.         MINE SAFETY DISCLOSURES

 

Not applicable.

 

 

PART II

 

ITEM 5.         MARKET FOR REGISTRANTS COMMON EQUITY, RELATED STOCKHOLDER MATTERS, AND ISSUER PURCHASES OF EQUITY SECURITIES

 

Market Price

 

The Company’s common stock is listed on the NASDAQ Capital Market under the symbol “UFPT”. The following table sets forth the range of high and low quotations for the common stock as reported by NASDAQ for the quarterly periods from January 1, 2021 to December 31, 2022:

 

Year Ended December 31, 2021

 

High

   

Low

 

First Quarter

  $ 55.52     $ 44.02  

Second Quarter

    59.68       49.02  

Third Quarter

    71.17       56.11  

Fourth Quarter

    75.34       59.00  

 

Year Ended December 31, 2022

 

High

   

Low

 

First Quarter

  $ 76.01     $ 56.10  

Second Quarter

    87.83       65.00  

Third Quarter

    100.64       74.00  

Fourth Quarter

    126.78       85.04  

 

16

 

Number of Stockholders

 

As of March 10, 2023, there were 79 holders of record of the Company’s common stock.

 

Since many of the shares are held by brokers and other institutions on behalf of stockholders, the Company is unable to estimate the total number of beneficial stockholders represented by these holders of record.

 

Dividends

 

The Company did not pay any dividends in 2022 or 2021. The Company presently intends to retain all its earnings to provide funds for the operation of its business and strategic acquisitions, although it would consider paying cash dividends in the future. Any decision to pay dividends will be at the discretion of the Company’s board of directors and will depend upon the Company’s operating results, strategic plans, capital requirements, financial condition, provisions of the Company’s borrowing arrangements, applicable law and other factors the Company’s board of directors considers relevant.

 

Issuer Purchases of Equity Securities

 

On June 16, 2015, the Company issued a press release announcing that its Board of Directors authorized the repurchase of up to $10.0 million of the Company’s outstanding common stock. There was no share repur‐chase activity for the years ended December 31, 2022, 2021, and 2020. During the year ended December 31, 2015, the Company repurchased 29,559 shares of common stock at a cost of approximately $587 thousand. At December 31, 2022, approximately $9.4 million was available for future repurchases of the Company's common stock under this authorization.

 

ITEM 6.         [Reserved]

 

ITEM 7.         MANAGEMENTS DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

 

Overview

 

The Company is a design, engineering, and custom manufacturer of comprehensive solutions for medical devices, sterile packaging, and other highly engineered custom products. The Company is an important link in the medical device supply chain and a valued outsource partner to many of the top medical device manufacturers in the world. The Company’s single-use and single-patient devices and components are used in a wide range of medical devices and packaging for minimally invasive surgery, infection prevention, wound care, wearables, orthopedic soft goods, and orthopedic implants.

 

The Company is diversified by also providing highly engineered products and components to customers in the automotive, aerospace and defense, and industrial markets. Typical applications of its products include military uniform and gear components, automotive interior trim, air filtration, and protective cases and inserts.

 

The Company’s current strategy includes further organic growth and growth through strategic acquisitions.

 

Net sales for the Company for the year ended December 31, 2022 increased 71.5% to $353.8 million from $206.3 million for the year ended December 31, 2021 due to the Company’s acquisitions of Contech Medical, DAS Medical, and Advant Medical, and an organic sales increase of approximately 18.6%. Gross margin increased to 25.5% for the year ended December 31, 2022, from 24.8% in 2021. Operating income and net income for the year ended December 31, 2022 increased by 161.1% and 163.1%, respectively. These results were achieved despite challenges that plagued the Company during much of 2022, including raw material and labor shortages, and significant inflationary cost increases on raw materials, labor, overhead costs and interest on the Company’s credit facility.

 

17

 

Results of Operations

 

The following table sets forth, for the years indicated, the percentage of revenues represented by the items as shown in the Company’s Consolidated Statements of Income:

 

   

2022

   

2021

   

2020

 

Net sales

    100.0 %     100.0 %     100.0 %

Cost of sales

    74.5 %     75.2 %     75.1 %

Gross profit

    25.5 %     24.8 %     24.9 %

Selling, general, and administrative expenses

    12.9 %     14.3 %     15.3 %

Acquisition costs

    0.3 %     0.2 %     0.0 %

Change in fair value of contingent consideration

    2.8 %     0.0 %     0.0 %

Gain on sale of Molded Fiber business

    -4.4 %     0.0 %     0.0 %

(Gain) Loss on sale of fixed assets

    -1.8 %     0.0 %     0.3 %

Operating income

    15.7 %     10.3 %     9.3 %

Interest expense, net

    0.8 %     0.0 %     0.0 %

Total other expense

    0.0 %     0.0 %     0.2 %

Income before taxes

    14.9 %     10.3 %     9.1 %

Income tax expense

    3.1 %     2.6 %     1.6 %

Net income from consolidated operations

    11.8 %     7.7 %     7.5 %

 

2022 Compared to 2021

 

Sales

 

Net sales increased 71.5% to $353.8 million for the year ended December 31, 2022, from net sales of $206.3 million in 2021. The increase in sales was primarily due to increases in sales to customers in the Medical market of 116.0%. The increases in sales in the Medical market were primarily due to increased sales from the Company’s recently acquired companies of $121.9 million, as well as an organic sales increase of 24.0% due to increased medical procedures, restoring of inventory levels by our customer, and price increases implemented in response to incremental input costs. Sales to customers in all other markets decreased 8.4%, largely due to the Company’s disposition of its Molded Fiber business in July 2022.

 

Gross Profit

 

Gross profit as a percentage of sales (“Gross Margin”) increased to 25.5% for the year ended December 31, 2022, from 24.8% in 2021. As a percentage of sales, material and labor costs collectively increased 5.5%, while overhead decreased 6.3%. The increase in gross margin is primarily due to the leverage of organic sales growth over the fixed portion of overhead, partially offset by inflationary cost increases in both raw materials and labor.

 

Selling, General and Administrative Expenses

 

Selling, General, and Administrative Expenses (“SG&A”) increased approximately 55.3% to $45.8 million for the year ended December 31, 2022, from $29.5 million in 2021. The increase in SG&A was primarily due to the additional SG&A from recent acquisitions and increased employee compensation and benefits, offset by reduced SG&A as a result of the sale of the Molded Fiber business. As a percentage of sales, SG&A decreased to 12.9%, from 14.3% in 2021. The decrease in SG&A as a percentage of sales was primarily due to increased organic sales measured against relatively fixed SG&A.

 

18

 

Acquisition costs

 

The Company incurred approximately $1.0 million in costs associated with acquisition related activities which were charged to expense for the year ended December 31, 2022. These costs were primarily for legal services, valuation services and stamp duty filings and are reflected on the face of the income statement.

 

Change in fair value of contingent consideration

 

In connection with the acquisitions discussed in Note 2, “Acquisitions,” the Company is required to make contingent payments, subject to the entities achieving certain financial performance thresholds. The potential contingent consideration payments for both the DAS Medical and Contech Medical acquisitions combined are $25 million. The fair value of the liabilities for the contingent consideration payments recognized upon the acquisition as part of the purchase accounting opening balance sheets totaled approximately $9.7 million and was estimated by discounting to present value the probability-weighted contingent payments expected to be made. Assumptions used in this calculation were managements financial forecasts, discount rate and various volatility factors. The ultimate settlement of contingent consideration could deviate from current estimates based on the actual results of these financial measures. This liability is considered to be a Level 3 financial liability that is re-measured each reporting period. The fair value of the liabilities for the contingent consideration payments recognized at December 31, 2022 totaled approximately $14.6 million. The change in fair value of contingent consideration for the DAS Medical and Contech Medical acquisitions for the year ended December 31, 2022, resulted in an expense of approximately $9.8 million, and was included in change in fair value of contingent consideration in the consolidated statements of income. The Company paid $5 million during the fourth quarter of 2022 to fulfill the contingent consideration for the Contech Medical acquisition.

 

Gain on sale of Molded Fiber business

 

On July 26, 2022, pursuant to a share purchase agreement and related agreements, the Company sold Molded Fiber Technology, Inc. (“MFT”) and related real estate in Iowa to CKF USA INCORPORATED (“CKF”) (a Delaware Corporation) for approximately $31.5 million (after giving effect to a working capital adjustment of approximately $0.1 million that decreased the total consideration). The net book value of the assets sold were approximately $15.4 million and the Company recorded a net gain on sale of approximately $15.7 million, which was recorded in the year ended December 31, 2022. This net gain included $2.6 million of the purchase price which is being held in escrow until January 26, 2024, to indemnify CKF against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. MFT’s annual revenue was approximately $21.3 million for the year ended December 31, 2021. Proceeds from the sale were used to pay down debt on the Company’s revolving credit facility, as well as income tax obligations on the related gain.

 

Gain on disposal of property, plant and equipment

 

For the year ended December 31, 2022, the Company recorded a gain on the sale of fixed assets of approximately $6.2 million. This was primarily the result of the sale of the Company’s Georgetown, Massachusetts manufacturing facility. The operations previously housed in this location have been fully absorbed by the nearby Newburyport manufacturing facility. The gain on the Georgetown manufacturing facility was determined by a sales price of approximately $6.7 million measured against a net book value of approximately $0.5 million and selling expenses of approximately $0.1 million.

 

Interest expense, net

 

The Company had net interest expense of approximately $2.8 million and $39 thousand for the years ended December 31, 2022 and 2021, respectively. The increase in net interest expense for the year ended December 31, 2022 was primarily due to interest paid on funds drawn on the Company’s credit facility used to finance recent acquisitions.

 

19

 

Other Income

 

Other income was approximately $81 thousand and approximately $26 thousand for years ended December 31, 2022 and 2021, respectively. The increase in other income was primarily generated by foreign currency transaction gains and changes in the fair value of the swap liability, which is driven by anticipated future interest rate changes, offset by net cash settlement amounts related to the swap.

 

Income Taxes

 

The Company recorded income tax expense, as a percentage of income before income tax expense, of 20.7% for the year ended December 31, 2022 compared to 25.1% for the same period in 2021. The decrease in the effective tax rate for the current year as compared to the prior year was largely due to lower statutory rates on foreign taxable income in 2022. The Company notes the potential for volatility in its effective tax rate, as any windfall or shortfall tax benefits related to its share-based compensation plans will be recorded directly into income tax expense.

 

2021 Compared to 2020

 

Sales

 

Net sales increased 15.0% to $206.3 million for the year ended December 31, 2021, from net sales of $179.4 million in 2020. The increase in sales was primarily due to increases in sales to customers in the Medical, Consumer, Electronics, Industrial, Automotive and Aerospace & Defense markets of 10.2%, 42.2%, 28.3%, 13.6%, 6.8% and 25.7% respectively. The increase in sales to the Medical market was partially attributable to sales from the two fourth quarter acquisitions, Contech Medical and DAS Medical, of $4.5 million and $1.4 million, respectively. Organically, sales to the medical market grew 5.3% in 2021.

 

Gross Profit

 

Gross Margin decreased slightly to 24.8% for the year ended December 31, 2021, from 24.9% in 2020. As a percentage of sales, material and direct labor costs collectively increased approximately 2.3%, while overhead decreased approximately 2.2%. The increase in collective material and labor costs as a percentage of sales was primarily due to inflationary increases in raw material costs as well as labor rate increases and staffing challenges. The decrease in overhead as a percentage of sales was primarily due to fixed overhead costs measured against increased sales.

 

Selling, General and Administrative Expenses

 

SG&A increased approximately 7.2% to $29.5 million for the year ended December 31, 2021, from $27.5 million in 2020. As a percentage of sales, SG&A decreased to 14.3%, from 15.3% in 2020. The decrease in SG&A as a percentage of sales was primarily due to relatively fixed SG&A expenses measure against increased sales. The increase in SG&A was primarily due to increased compensation programs and travel and entertainment as well as additional SG&A from the fourth quarter acquisitions of Contech and DAS.

 

Acquisition costs

 

The Company incurred approximately $430 thousand in costs associated with acquisition related activities which were charged to expense for the year ended December 31, 2021. These costs were primarily for legal and valuation services and are reflected on the face of the income statement.

 

Interest expense, net

 

The Company had net interest expense of approximately $39 thousand and $83 thousand for the years ended December 31, 2021 and 2020, respectively. The decrease in net interest expense was primarily due to interest received from the federal government related to income tax refunds.

 

Other Income and Expense

 

Other income was approximately $26 thousand and other expense was approximately $366 thousand for years ended December 31, 2021 and 2020, respectively. The changes in other expense are primarily generated by changes in the fair value of the swap liability, which is driven by anticipated future interest rate changes and a declining nominal amount, offset by net cash settlement amounts related to the swap.

 

20

 

Income Taxes

 

The Company recorded income tax expense, as a percentage of income before income tax expense, of 25.1% for the year ended December 31, 2021 compared to 17.9% for the same period in 2020 The increase in the effective tax rate for the current period was largely due to lower discrete income tax benefits from share-based compensation and amended tax returns in the year ended December 31, 2021 compared to the same period of 2020. The Company notes the potential for volatility in its effective tax rate, as any windfall or shortfall tax benefits related to its share-based compensation plans will be recorded directly into income tax expense.

 

Liquidity and Capital Resources

 

The Company generally funds its operating expenses, capital requirements, and growth plan through internally generated cash and bank credit facilities.

 

Cash Flows

 

Net cash provided by operations for the year ended December 31, 2022 was approximately $17.7 million and was primarily a result of net income generated of approximately $41.8 million, depreciation and amortization of approximately $11.9 million, share-based compensation of approximately $3.2 million, a change in the fair value of contingent consideration of approximately $9.8 million, an increase in income taxes payable of approximately $1.0 million, an increase in accounts payable of approximately $9.1 million due to the building of inventory to meet demand and the timing of vendor payments in the ordinary course of business, an increase in accrued expenses of approximately $10.4 million primarily due to increased compensation related liabilities, customer rebates and the current portion of non-compete payments, and an increase in deferred revenue of approximately $1.0 million primarily due to increased customer deposits on tooling and machinery.

 

These cash inflows and adjustments to income were offset by a gain on disposal of property, plant and equipment of approximately $6.2 million, a gain on the sale of the Molded Fiber business of approximately $15.7 million, a decrease in deferred taxes of approximately $4.7 million, an increase in accounts receivable of approximately $16.8 million due to higher sales in the last two months of the fourth quarter of 2022 as compared to the same period in the fourth quarter of 2021 and the addition of Advant Medical receivables following the Company’s acquisition of Advant, an increase in inventory of approximately $19.6 million due to inventory build for upcoming demand, restocking to historical levels and the addition of Advant Medical inventory, an increase in prepaid expenses of approximately $0.7 million, an increase in other assets of approximately $3.5 million due to increased right of use lease assets and a decrease in other long-term liabilities of approximately $3.3 million due primarily to the payment and current reclassification of contingent consideration.

 

Net cash provided by investing activities during the year ended December 31, 2022 was approximately $1.3 million and was primarily the result of the sale of Molded Fiber and the sale of the Georgetown manufacturing facility, offset by the acquisition of Advant Medical, as well as additions of manufacturing machinery and equipment and various building improvements across the Company.

 

Net cash used for financing activities was approximately $25.9 million during the year ended December 31, 2022 and was primarily the result of payments on the revolving line of credit of approximately $60 million, principal payments of long-term debt of approximately $4 million, payment of contingent consideration of approximately $4.5 million, and payments of statutory withholding for stock options exercised and restricted stock units vested of approximately $1.7 million. These payments were partially offset by borrowings under our credit facility to fund acquisitions of approximately $44 million.

 

Outstanding and Available Debt

 

On December 22, 2021, the Company, as the borrower, entered into a secured $130 million Second Amended and Restated Credit Agreement (the “Second Amended and Restated Credit Agreement”) with certain of the Company’s subsidiaries (the “Subsidiary Guarantors”) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time-to-time party thereto. The Second Amended and Restated Credit Agreement amends and restates the Company’s prior credit agreement, originally dated as of February 1, 2018.

 

21

 

The credit facilities under the Second Amended and Restated Credit Agreement consist of a $40 million secured term loan to the Company and a secured revolving credit facility, under which the Company may borrow up to $90 million. The Second Amended and Restated Credit Agreement matures on December 21, 2026. The secured term loan requires quarterly principal payments of $1 million that commenced on March 31, 2022. The proceeds of the Second Amended and Restated Credit Agreement may be used for general corporate purposes, including funding the acquisition of DAS Medical, as well as certain other permitted acquisitions. The Company’s obligations under the Second Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.

 

The Second Amended and Restated Credit Agreement calls for interest determined by the Bloomberg Short-Term Bank Yield Index rate (“BSBY”) plus a margin that ranges from 1.25% to 2.0% or, at the discretion of the Company, the bank’s prime rate less a margin that ranges from 0.25% to zero. In both cases the applicable margin is dependent upon Company performance. Under the Second Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The Second Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness, and permitted investments.

 

At December 31, 2022, the Company had approximately $55 million in borrowings outstanding under the Second Amended and Restated Credit Agreement, which were used as partial consideration for the DAS Medical and Advant Medical acquisitions, and also had approximately $0.7 million in standby letters of credit outstanding, drawable as a financial guarantee on worker’s compensation insurance policies. At December 31, 2022, the applicable interest rate was approximately 5.2% and the Company was in compliance with all covenants under the Second Amended and Restated Credit Agreement.

 

Long-term debt consists of the following (in thousands):

 

   

December 31,

 
   

2022

 

Revolving credit facility

  $ 19,000  

Term loan

    36,000  

Total long-term debt

    55,000  

Current portion

    (4,000 )

Long-term debt, excluding current portion

  $ 51,000  

 

Future maturities of long-term debt at December 31, 2022 are as follows (in thousands):

 

Year ended December 31,

 

Term Loan

   

Revolving credit facility

   

Total

 

2023

  $ 4,000     $ -     $ 4,000  

2024

    4,000       -       4,000  

2025

    4,000       -       4,000  

2026

    24,000       19,000       43,000  
    $ 36,000     $ 19,000     $ 55,000  

 

Derivative Financial Instruments

 

The Company used interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does not enter into derivative instruments for any purpose other than cash flow hedging. Derivative financial instruments expose the Company to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is not exposed to the counterparty’s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates.

 

22

 

The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that may adversely impact expected future cash flows and by evaluating hedging opportunities. The Company’s debt obligations exposed the Company to variability in interest payments due to changes in interest rates. The Company believed that it was prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the first Amended and Restated Credit Agreement, the Company entered into a $20 million, 5-year interest rate swap agreement under which the Company receives three-month LIBOR plus the applicable margin and pays a 2.7% fixed rate plus the applicable margin. The swap modified the Company’s interest rate exposure by converting the previous term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was approximately $5.7 million at December 31, 2022. The fair value of the swap as of December 31, 2022 and 2021 was zero and approximately $(176) thousand, respectively, and is included in other liabilities. Changes in the fair value and net cash settlement amounts related to the swap are recorded in other income of approximately $176 thousand and approximately $24 thousand during the years ended December 31, 2022 and 2021, respectively.

 

As the Company has paid the remaining balance of the term loan that was associated with the swap in its entirety, there is no longer underlying debt to hedge against with the swap. The changes in the fair value of the swap will continue to be accounted for as a financial instrument until its maturity, on February 1, 2023.

 

Future Liquidity

 

The Company requires cash to pay its operating expenses, purchase capital equipment, and to service its contractual obligations. The Company’s principal sources of funds are its operations and its Second Amended and Restated Credit Agreement. The Company generated cash of approximately $17.7 million in operations during the year ended December 31, 2022; however, the Company cannot guarantee that its operations will generate cash in future periods. The Company’s longer-term liquidity is contingent upon future operating performance and the availability of draws on the revolving credit facility under the Second Amended and Restated Credit Agreement. Further, the continued economic uncertainty resulting from the Ukraine war, inflation or other factors beyond the control of the Company could affect the Company’s long-term ability to access the public markets and obtain necessary capital in order to properly capitalize and continue operations.

 

Throughout fiscal 2023, the Company plans to continue to add capacity to enhance operating efficiencies in its manufacturing plants. The Company may consider additional acquisitions of companies, technologies, or products that are complementary to its business. The Company believes that its existing resources, including its revolving credit facility, together with cash expected to be generated from operations, will be sufficient to fund its cash flow requirements, including capital asset acquisitions, through the next twelve months.

 

The Company may also require additional capital in the future to fund capital expenditures, acquisitions or other investments. These capital requirements could be substantial. The Company anticipates that any future expansion of its business will be financed through existing resources, cash flow from operations, the Company's revolving credit facility, or other new financing. The Company cannot guarantee that it will be able to meet existing financial covenants or obtain other new financing on favorable terms, if at all. The Company's liquidity will be impacted to the extent additional stock repurchases are made under the Company's stock repurchase program.

 

Stock Repurchase Program

 

The Company accounts for treasury stock under the cost method, using the first-in, first-out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. On June 16, 2015, the Company announced that its Board of Directors authorized the repurchase of up to $10.0 million of the Company’s outstanding common stock. Under the program, the Company is authorized to repurchase shares through Rule 10b5-1 plans, open market purchases, privately negotiated transactions, block purchases or otherwise in accordance with applicable federal securities laws, including Rule 10b-18 of the Securities Exchange Act of 1934. The stock repurchase program will end upon the earlier of the date on which the plan is terminated by the Board or when all authorized repurchases are completed. The timing and amount of stock repurchases, if any, will be determined based upon our evaluation of market conditions and other factors. The stock repurchase program may be suspended, modified or discontinued at any time, and the Company has no obligation to repurchase any amount of its common stock under the program. There were no share repurchases during the years ended December 31, 2022, 2021, and 2020. At December 31, 2022, approximately $9.4 million was available for future repurchases of the Company’s common stock under this authorization.

 

23

 

Critical Accounting Estimates

 

The preparation of consolidated financial statements requires the Company to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues, and expenses, and related disclosure of contingent assets and liabilities. The Company evaluates its estimates, including those listed below, on an ongoing basis. The Company bases its estimates on historical experience and on various other assumptions believed to be reasonable under the circumstances, including current and anticipated worldwide economic conditions, both in general and specifically in relation to the packaging and component product industries, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates under different assumptions or conditions.

 

The Company’s significant accounting policies are described in Note 1 to the consolidated financial statements included in Item 8 of this Report. The Company believes the following critical accounting policies necessitated that significant judgments and estimates be used in the preparation of its consolidated financial statements.

 

The Company has reviewed these policies with its Audit Committee.

 

Goodwill

 

In testing Goodwill for impairment, the Company uses several methods including the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The key assumptions used in our approach included:

 

 

The reporting unit’s estimated financials and five-year projections of financial results, which were based on strategic plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions. The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense modifications.

 

The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF. This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into perpetuity.

 

The discount rate determined using a Weighted Average Cost of Capital method (“WACC”), which considered market and industry data as well as Company-specific risk factors.
Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.

 

Valuation of Intangible Assets and Contingent Consideration Liability

 

We base the fair value of identifiable intangible assets acquired in a business combination on detailed valuations that use information and assumptions provided by management, which consider management’s best estimates of inputs and assumptions that a market participant would use. Further, for those arrangements that involve potential future contingent consideration, we record on the date of acquisition a liability equal to the fair value of the estimated additional consideration we may be obligated to pay in the future. We re-measure this liability each reporting period and record changes in the fair value through a separate line item within our consolidated statements of operations. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount rates, periods, timing and amount of projected revenue or timing or likelihood of achieving regulatory, revenue or commercialization-based milestones. The use of alternative valuation assumptions, including estimated revenue projections, growth rates, cash flows, discount rates, useful life or probability of achieving clinical, regulatory or revenue-based milestones could result in different purchase price allocations and recognized amortization expense and contingent consideration expense or benefit in current and future periods.

 

24

 

We review intangible assets subject to amortization quarterly to determine if any adverse conditions exist or a change in circumstances has occurred that would indicate impairment or adjustment to the remaining useful life. If we determine it is more likely than not that the asset is impaired based on our qualitative assessment of impairment indicators, we test the intangible asset for recoverability. If the carrying value of the intangible asset is determined not recoverable, we will write the carrying value down to fair value in the period the impairment is identified. We calculate fair value of our intangible assets as the present value of estimated future cash flows we expect to generate from the asset using a risk-adjusted discount rate. The use of alternative assumptions, including estimated cash flows, discount rates and alternative estimated remaining useful lives could result in different calculations of impairment.

 

Revenue Recognition

 

The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does not transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.

 

Recent Accounting Pronouncements

 

Refer to Note 1, “Summary of Significant Accounting Policies,” in the accompanying notes to the consolidated financial statements for a discussion of recent accounting pronouncements.

 

ITEM 7A.      QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

 

The following discussion of the Company’s market risk includes “forward-looking statements” that involve risk and uncertainties. Actual results could differ materially from those projected in the forward-looking statements.

 

Market risk represents the risk of changes in value of a financial instrument caused by fluctuations in interest rates, foreign exchange rates, and equity prices. At December 31, 2022, the Company’s cash and cash equivalents consisted primarily of bank accounts in U.S. dollars, and their valuation would not be affected by market risk. Interest under the Company’s credit facility with Bank of America, N.A. calls for interest of BSBY plus a margin that ranges from 1.25% to 2.00% or, at the discretion of the Company, the bank’s prime rate less a margin that ranges from 0.25% to zero. Therefore, future operations could be affected by interest rate changes. As of December 31, 2022, the applicable interest rate was approximately 5.2%.

 

25

 

ITEM 8.         FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA

 

The consolidated financial statements and supplementary data of the company are listed under Part IV, Item 15, in this Report.

 

ITEM 9.         CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE

 

None.

 

ITEM 9A.      CONTROLS AND PROCEDURES

 

Disclosure Controls and Procedures

 

The Company carried out an evaluation, under the supervision and with the participation of its management, including the Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of the Company’s “disclosure controls and procedures”, excluding control procedures at Advant Medical (as defined in Exchange Act Rule 13a-15(e) and 15d-15(e)) as of the end of the period covered by this Report (the “Evaluation Date”). Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the Evaluation Date, the Company’s disclosure controls and procedures are effective to ensure that information required to be disclosed in the reports that the Company files or submits under the Exchange Act is (i) recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission’s rules and forms and (ii) accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.

 

The Company closed the acquisition of Advant Medical on March 16, 2022. Advant Medical’s total assets and revenues constituted approximately 6.5% and 5.6%, respectively, of the Company’s consolidated total assets and revenues as shown on our consolidated financial statements as of and for the year ended December 31, 2022. As the acquisition occurred during fiscal 2022, the Company excluded Advant Medical’s internal control over financial reporting from the scope of the assessment of the effectiveness of the Company’s disclosure controls and procedures. This exclusion is in accordance with the general guidance issued by the Staff of the Securities and Exchange Commission that an assessment of a recently acquired business may be omitted from the scope in the year of acquisition if specified conditions are satisfied.

 

Management’s Report on Internal Control Over Financial Reporting

 

The Company’s management is responsible for establishing and maintaining an adequate system of internal control over financial reporting, as defined in Exchange Act Rule 13a-15(f) and 15d-15(f). The Company’s internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with GAAP.

 

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Therefore, even those systems determined to be effective can provide only reasonable assurance, as opposed to absolute assurance, of achieving their internal control objectives.

 

Management conducted an assessment of the Company’s internal control over financial reporting as of December 31, 2022, based on criteria established in the 2013 Internal Control – Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Except as described above relating to the acquisition of Advant Medical, based on the assessment, management concluded that, as of December 31, 2022, the Company’s internal control over financial reporting is effective.

 

Except as described above, there was no change in the Company’s internal control over financial reporting that occurred during the Company’s most recently completed fiscal quarter that has materially affected, or is reasonably likely to materially affect, the Company’s internal control over financial reporting.

 

26

 

ITEM 9B.      OTHER INFORMATION

 

On March 14, 2023, the Compensation Committee of the Company’s Board of Directors (the “Compensation Committee”) approved certain amendments to the Company’s 2003 Incentive Plan, as amended and restated (the “2003 Incentive Plan”). The amendments, among other things: (i) clarify that the Compensation Committee or the Board may delegate limited authority to the Chief Executive Officer of the Company or one or more other officers of the Company (each, a “Designated Officer”) to assist the Compensation Committee administer and operate the 2003 Incentive Plan and to grant equity-based awards to persons other than a Designated Officer or  any person who is an officer (as defined in Rule 16a-1(f)) of the Exchange Act); (ii) increase the aggregate maximum of Cash Performance Awards (as defined in the 2003 Incentive Plan) that may be paid to any individual pursuant to the 2003 Incentive Plan; (iii) provide for additional flexibility in the grant of equity-based awards to employees who are foreign nationals or employed outside of the United States; and (iv) make other conforming and correcting changes thereto. 

 

The foregoing summary of the 2003 Incentive Plan does not purport to be complete and is qualified in its entirety by reference to the complete text of the 2003 Incentive Plan, a copy of which is filed as Exhibit 10.33 to this Annual Report on Form 10-K and is incorporated herein by reference.

 

ITEM 9C.      DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS

 

Not applicable

 

 

PART III

 

ITEM 10.      DIRECTORS, EXECUTIVE OFFICERS, AND CORPORATE GOVERNANCE

 

The information required by this Item 10 is hereby incorporated by reference to the Company’s definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.

 

 

ITEM 11.      EXECUTIVE COMPENSATION

 

The information required by this Item 11 is hereby incorporated by reference to the Company’s definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.

 

 

ITEM 12.      SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS

 

The information required by this Item 12 is hereby incorporated by reference to the Company’s definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.

 

 

ITEM 13.      CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE

 

The information required by this Item 13 is hereby incorporated by reference to the Company’s definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.

 

 

ITEM 14.      PRINCIPAL ACCOUNTING FEES AND SERVICES

 

The information required by this Item 14 is hereby incorporated by reference to the Company’s definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.

 

 

PART IV

 

ITEM 15.      EXHIBITS AND FINANCIAL STATEMENT SCHEDULES

 

(a) (1)

Financial Statements

Page

 

Index to Consolidated Financial Statements and Financial Statement Schedule

F-2

 

Reports of Independent Registered Public Accounting Firm

F-3

 

Consolidated Balance Sheets as of December 31, 2022 and 2021

F-8

 

Consolidated Statements of  Comprehensive Income for the years ended December 31, 2022, 2021, and 2020

F-9

 

Consolidated Statements of Stockholders’ Equity for the years ended December 31, 2022, 2021, and 2020

F-10

  Consolidated Statements of Cash Flows for the years ended December 31, 2022, 2021, and 2020

F-11

 

Notes to Consolidated Financial Statements

F-12

     

(a) (2)

Financial Statement Schedule

 
  Schedule II – Valuation and Qualifying Accounts

F-38

     
  All other schedules have been omitted because they are not required, not applicable, or the required information is otherwise included.  
     

(a) (3)

Exhibits

 

 

27

 

Exhibit Index

 

Number

Description of Exhibit

   

2.01

Securities Purchase Agreement, dated as of December 22, 2021, by and among Parallax Investments, LLC, a Georgia limited liability company and its purchase price beneficiaries, DAS Medical Holdings, LLC, a Georgia corporation and the Company (incorporated by reference to Exhibit 10.1 to the Companys Current Report on Form 8-K, filed with the SEC on December 23, 2021 (SEC File No. 001-12648)).

   

2.02

Agreement for the Purchase and Sale of Personal Goodwill, dated December 22, 2021, between and among the Company and Danny R. Lee, Daniel Lee, Houston Lee, Armond Groves, Thomas Bonner and Bruce Grady (incorporated by reference to Exhibit 10.2 to the Companys Current Report on Form 8-K, filed with the SEC on December 23, 2021 (SEC File No. 001-12648)).

   

2.03

Stock Purchase Agreement, dated as of October 21, 2021 by and among the Company, Contech Medical, Inc., Contech Medical, Inc.’s shareholders, and Christopher M. Byrnes (incorporated by reference to Exhibit 10.1 to the Companys Quarterly Report on Form 10-Q, filed with the SEC on November 5, 2021 (SEC File No. 001-12648)).

   

3.01

Certificate of Incorporation of the Company, as amended (incorporated by reference to Exhibit 3.01 to the Company’s Quarterly Report on Form 10-Q for the quarter ended March 31, 2004, filed with the SEC on May 14, 2004 (SEC File No. 001-12648)).

   

3.02

Amended and Restated Certificate of Designation of Series A Junior Participating Preferred Stock of the Company (incorporated by reference to Exhibit 3.02 to the Companys Current Report on Form 8-K, filed with the SEC on March 24, 2009 (SEC File No. 001-12648)).

   

3.03

Amended and Restated Bylaws of the Company (incorporated by reference to Exhibit 3.1 to the Company’s Current Report on Form 8-K, filed with the SEC on June 15, 2020 (SEC File No. 001-12648)).

   

3.04

Certificate of Amendment to Certificate of Incorporation of UFP Technologies, Inc., dated June 10, 2020 (incorporated by reference to Exhibit 3.2 to the Company’s Current Report on Form 8-K, filed with the SEC on June 15, 2020 (SEC File No. 001-12648)).

   

3.05

Restated Certificate of Incorporation of the Company (incorporated by reference to Exhibit 3.1 to the Company’s Current Report on Form 8-K, filed with the SEC on June 14, 2022 (SEC File No. 001-12648)).

   

4.01

Specimen Certificate for shares of the Company’s Common Stock (incorporated by reference to Exhibit 4.01 to the Company’s Registration Statement on Form S-1, filed with the SEC on December 15, 1993) (filed in paper format).

   

4.02

Description of Capital Stock (contained in the Certificate of Incorporation of the Company, as amended, filed as Exhibit 3.01 hereto).

   

10.01

Form of Indemnification Agreement for directors and officers of the Company (incorporated by reference to Exhibit 10.30 to the Company’s Registration Statement on Form S-1, filed with the SEC on December 15, 1993) (filed in paper format). #

   

10.02

Executive Non-qualified Excess Plan (incorporated by reference to Exhibit 10.41 to the Company’s Quarterly Report on Form 10-Q for the three months ended September 30, 2006, filed with the SEC on November 13, 2006 (SEC File No. 001-12648)). #

   
10.03 Employment Agreement with R. Jeffrey Bailly dated October 8, 2007 (incorporated by reference to Exhibit 10.28 to the Company’s Current Report on Form 8-K, filed with the SEC on October 12, 2007 (SEC File No. 001-12648)). #

 

28

 

Number Description of Exhibit
   

10.04

2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.66 to the Company’s Quarterly Report on Form 10-Q for the quarter ended March 31, 2013, filed with the SEC on May 10, 2013 (SEC File No. 001-12648)). #

   

10.05

Amendment No. 1 to Employment Agreement with R. Jeffrey Bailly (incorporated by reference to Exhibit 10.56 to the Companys Current Report on Form 8-K, filed with the SEC on March 8, 2011 (SEC File No. 001-12648)). #

   

10.06

Facility Lease between the Company and Susana Property Co. (incorporated by reference to Exhibit 10.61 to the Company’s Quarterly Report on Form 10-Q for the period ended September 30, 2012, filed with the SEC on November 9, 2012 (SEC File No. 001-12648)).

   

10.07

Amendment No. 2 to Employment Agreement with R. Jeffrey Bailly (incorporated by reference to Exhibit 10.62 to the Company’s Current Report on Form 8-K, filed with SEC on February 22, 2013 (SEC File No. 001-12648)). #

   

10.08

Form of 2019 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company’s Current Report on Form 8-K, filed with the SEC on February 25, 2019 (SEC File No. 001-12648)). #

   

10.09

Form of 2019 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company’s Current Report on Form 8-K, filed with the SEC on February 25, 2019 (SEC File No. 001-12648)). #

   

10.10

Form of 2019 Non-Qualified Stock Option Agreement under the 2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.1 to the Company’s Quarterly Report on Form 10-Q for the period ended June 30, 2019, filed with the SEC on August 9, 2019 (SEC File No. 001-12648)). #

   

10.11

Form of 2019 Stock Unit Award Agreement under the 2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.2 to the Company’s Quarterly Report on Form 10-Q for the period ended June 30, 2019, filed with the SEC on August 9, 2019 (SEC File No. 001-12648)). #

   

10.12

Form of 2020 Non-Qualified Stock Option Agreement under the 2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.1 to the Company’s Quarterly Report on Form 10-Q for the period ended June 30, 2020, filed with the SEC on August 7, 2020 (SEC File No. 001-12648)). #

   

10.13

Form of 2020 Stock Unit Award Agreement under the 2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.2 to the Company’s Quarterly Report on Form 10-Q for the period ended June 30, 2020, filed with the SEC on August 7, 2020 (SEC File No. 001-12648)). #

   

10.14

First Amendment to Facility Lease between the Company and Susana Property Co. dated July 6, 2012 (incorporated by reference to Exhibit 10.1 to the Company’s Quarterly Report on Form 10-Q for the period ended June 30, 2017, filed with the SEC on August 9, 2017 (SEC File No. 001-12648)).

   

10.15

Stock Purchase Agreement, dated as of January 30, 2018, by and among the Company, the Sellers defined therein, Dielectrics and the Sellers’ Representative (incorporated by reference to Exhibit 10.20 to the Companys Annual Report on Form 10-K for the period ended December 31, 2017, filed with the SEC on March 16, 2018 (SEC File No. 001-12648)).

   

10.16

Agreement for the Purchase and Sale of Personal Goodwill, dated as of January 30, 2018, by and among the Company and Eric C. Stahl (incorporated by reference to Exhibit 10.21 to the Company’s Annual Report on Form 10-K for the period ended December 31, 2017, filed with the SEC on March 16, 2018 (SEC File No. 001-12648)).

 

29

 

Number Description of Exhibit
   

10.17

Lease dated as of February 1, 2018, by and between Eric C. Stahl and the Company (incorporated by reference to Exhibit 10.22 to the Company’s Annual Report on Form 10-K for the period ended December 31, 2017, filed with the SEC on March 16, 2018 (SEC File No. 001-12648)).

   

10.18

Amended and Restated 2003 Incentive Plan (incorporated by reference to Exhibit 10.3 to the Company’s Quarterly Report on Form 10-Q for the period ended March 31, 2018, filed with the SEC on May 10, 2018 (SEC File No. 001-12648))#

   

10.19

Form of 2020 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company’s Current Report on Form 8-K, filed with the SEC on February 28, 2020 (SEC File No. 001-12648)). #

   

10.20

Form of 2020 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company’s Current Report on Form 8-K, filed with the SEC on February 28, 2020 (SEC File No. 001-12648)). #

   

10.21

Form of 2021 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Companys Current Report on Form 8-K, filed with the SEC on February 26, 2021 (SEC File No. 001-12648)). #

   

10.22

Form of 2021 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Companys Current Report on Form 8-K, filed with the SEC on February 26, 2021 (SEC File No. 001-12648)). #

   

10.23

Lease, dated August 9, 2021, between and among Logistica Industrial De Tijuana Este, S.A. DE C.V., Co Production De Tijuana, S.A. DE C.V., and the Company (incorporated by reference to Exhibit 10.1 to the Companys Current Report on Form 8-K, filed with the SEC on August 13, 2021 (SEC File No. 001-126458)).

   

10.24

Second Amended and Restated Credit Agreement, dated December 22, 2021, between and among the Company, certain of its subsidiaries as guarantors and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer (incorporated by reference to Exhibit 10.3 to the Company’s Current Report on Form 8-K, filed with the SEC on December 23, 2021 (SEC File No. 001-12648)).

   

10.25

Form of 2022 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company’s Current Report on Form 8-K, filed with the SEC on February 22, 2022 (SEC File No. 001-12648)). #

   

10.26

Form of 2022 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company’s Current Report on Form 8-K, filed with the SEC on February 22, 2022 (SEC File No. 001-12648)). #

   

10.27

Form of 2023 CEO Incentive Stock Option Agreement (incorporated by reference to Exhibit 10.1 to the Company’s Current Report on Form 8-K, filed with the SEC on February 21, 2023 (SEC File No. 001-12648)). #

   

10.28

Form of 2023 CEO Non-Qualified Stock Option Agreement (incorporated by reference to Exhibit 10.2 to the Company’s Current Report on Form 8-K, filed with the SEC on February 21, 2023 (SEC File No. 001-12648)). #

   

10.29

Form of 2023 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.3 to the Company’s Current Report on Form 8-K, filed with the SEC on February 21, 2023 (SEC File No. 001-12648)). #

   

10.30

Form of 2023 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.4 to the Company’s Current Report on Form 8-K, filed with the SEC on February 21, 2023 (SEC File No. 001-12648)). #

   

10.31

Form of 2023 Stock Unit Award Agreement (Ireland). #*

   

10.32

Form of 2023 Stock Unit Award Agreement (Dominican Republic). #*

   
10.33 Amended and Restated 2003 Incentive Plan. #*
   

21.01

Subsidiaries of the Company. *

 

30

 

Number Description of Exhibit
   

23.01

Consent of Grant Thornton LLP. *

   

31.01

Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. *

   

31.02

Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. *

   

32.01

Certification of Chief Executive Officer and 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

Inline XBRL Instance Document. *

   

101.SCH

Inline  XBRL Taxonomy Extension Schema Document. *

   

101.CAL

Inline XBRL Taxonomy Calculation Linkbase Document. *

   

101.LAB

Inline XBRL Taxonomy Label Linkbase Document. *

   

101.PRE

Inline XBRL Taxonomy Presentation Linkbase Document. *

   

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document. *

   

104

Cover Page Interactive Data File (formatted as inline XBRL with applicable taxonomy extension information contained in Exhibits 101)).

 

*         Filed herewith.

**       Furnished herewith.

#         Indicates management contract or compensatory plan or arrangement.

 

ITEM 16.         Form 10-K Summary

 

None.

 

31

 
 

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.

 

UFP TECHNOLOGIES, INC.

 

Date:

March 16, 2023

By:

/s/ R. Jeffrey Bailly

     

R. Jeffrey Bailly, President

 

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.

 

SIGNATURE

TITLE

DATE

     

/s/ R. Jeffrey Bailly

Chairman, Chief Executive Officer,

March 16, 2023

R. Jeffrey Bailly

President, and Director

 
     

/s/ Ronald J. Lataille

Chief Financial Officer, Senior Vice President,

March 16, 2023

Ronald J. Lataille

Principal Financial and Accounting Officer

 
     

/s/ Daniel C. Croteau

Director

March 16, 2023

Daniel C. Croteau

   
     

/s/ Cynthia Feldmann

Director

March 16, 2023

Cynthia Feldmann

   
     

/s/ Marc Kozin

Director

March 16, 2023

Marc Kozin

   
     

/s/ Thomas Oberdorf

Director

March 16, 2023

Thomas Oberdorf

   
     

/s/ Joseph John Hassett

Director

March 16, 2023

Joseph John Hassett

   
     

/s/ Symeria Hudson

Director

March 16, 2023

Symeria Hudson

   

 

 

 

 

 

 

 

 

UFP TECHNOLOGIES, INC.

 

Consolidated Financial Statements

and Financial Statement Schedule

 

As of December 31, 2022 and 2021

And for the Years Ended December 31, 2022, 2021 and 2020

 

 

With Reports of Independent Registered Public Accounting Firm

 

 

 

 

 

 

 

 

 

 
 

 

 

UFP TECHNOLOGIES, INC.

 

Index to Consolidated Financial Statements and Financial Statement Schedule

 

 

Page

Reports of Independent Registered Public Accounting Firm (PCAOB ID Number 248)

F-3

Consolidated Balance Sheets as of December 31, 2022 and 2021

F-8

Consolidated Statements of Comprehensive Income for the years ended December 31, 2022, 2021 and 2020

F-9

Consolidated Statements of Stockholders’ Equity for the years ended December 31, 2022, 2021 and 2020

F-10

Consolidated Statements of Cash Flows for the years ended December 31, 2022, 2021 and 2020

F-11

Notes to Consolidated Financial Statements

F-12

Schedule II - Valuation and Qualifying Accounts

F-38

 

 

 

 

 

 

 

 

 

 

 

 

 

F-2

 

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

Board of Directors and Shareholders

UFP Technologies, Inc.

 

Opinion on the financial statements

 

We have audited the accompanying consolidated balance sheets of UFP Technologies, Inc. (a Delaware corporation) and subsidiaries (the “Company”) as of December 31, 2022 and 2021, the related consolidated statements of comprehensive income, changes in shareholders’ equity, and cash flows for each of the three years in the period ended December 31, 2022, and the related notes (collectively referred to as the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.

 

We also have 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 December 31, 2022, based on criteria established in the 2013 Internal ControlIntegrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”), and our report dated March 16, 2023 expressed an unqualified opinion.

 

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 the 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 audit 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.

 

 

F-3

 

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.

 

Valuation of acquired intangible assets

 

As described further in Note 2 to the financial statements, the Company completed the acquisition of Advant Medical on March 16, 2022 for total consideration of €19 million in cash (approximately $21.2 million). The identified intangible assets acquired include customer contracts and relationships of $2.9 million and intellectual property of $2.1 million. We identified valuation of the intangible assets acquired for the Advant Medical acquisition as a critical audit matter.

 

The principal considerations for our determination that valuation of the intangible assets acquired for the Advant Medical acquisition is a critical audit matter are that the determination of the fair values of such assets required management to make significant estimates and assumptions related to forecasted revenues and operating margins as well as the discount rates used. These estimates and assumptions required a high degree of auditor judgement and effort, in the selection and application of audit procedures.

 

Our audit procedures related to the valuation of the intangible assets acquired and contingent consideration liabilities for the Advant Medical acquisition included the following, among others:

 

 

We tested the design and operating effectiveness of controls relating to the determination of fair values of the intangible assets, including controls over the development of assumptions related to revenue growth rates, operating margins and discount rates.

 

 

We evaluated the valuation methodologies and discount rates utilized by management with the assistance of our valuation professionals with specialized skill and knowledge.

 

 

We tested the forecasted revenues and operating margins by assessing the reasonableness of management’s forecasts compared to historical results and forecasted market and industry trends.

 

 

F-4

 

Valuation of contingent consideration liability

 

As described further in Notes 16 and 18 to the financial statements, in connection with the DAS Medical acquisition in 2021, the Company incurred liabilities for certain contingent consideration related to the valuation of earn-out payments based upon the performance of DAS Medical. This liability is recognized at fair value and re-measured every reporting period. We identified valuation of the DAS Medical contingent consideration liability as a critical audit matter.

 

The principal considerations for our determination that valuation of DAS Medical contingent consideration liability is a critical audit matter are that the determination of the fair values of such a liability required management to make significant estimates and assumptions related to forecasted revenues and operating margins as well as the discount rates used. These estimates and assumptions required a high degree of auditor judgement and effort, in the selection and application of audit procedures.

 

Our audit procedures related to the valuation of the DAS Medical contingent consideration liability included the following, among others:

 

 

We tested the design and operating effectiveness of controls relating to the determination of the fair value of the contingent liability, including controls over the development of assumptions related to revenue growth rates, operating margins and discount rates.

 

 

We evaluated the valuation methodologies and discount rates utilized by management with the assistance of our valuation professionals with specialized skill and knowledge.

 

 

We tested the forecasted revenues and operating margins by assessing the reasonableness of management’s forecasts compared to historical results and forecasted market and industry trends.

 

 

/s/ GRANT THORNTON LLP 

 

We have served as the Company’s auditor since 2005.

 

Boston, Massachusetts

March 16, 2023

 

 

 

 

F-5

 

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

Board of Directors and Shareholders

UFP Technologies, Inc.

 

Opinion on internal control over financial reporting

 

We have audited the internal control over financial reporting of UFP Technologies, Inc. (a Delaware corporation) and subsidiaries (the “Company”) as of December 31, 2022, based on criteria established in the 2013 Internal ControlIntegrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2022, based on criteria established in the 2013 Internal ControlIntegrated Framework issued by COSO.

 

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (“PCAOB”), the consolidated financial statements of the Company as of and for the year ended December 31, 2022, and our report dated March 16, 2023 expressed an unqualified opinion 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, included in the accompanying Management’s Report on Internal Control Over Financial Reporting (“Management’s Report”). 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 the 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 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, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

 

 

 

F-6

 

Our audit of, and opinion on, the Company’s internal control over financial reporting does not include the internal control over financial reporting of Advant Medical, a wholly-owned subsidiary, whose financial statements reflect total assets and revenues constituting 7 and 6 percent, respectively, of the related consolidated financial statement amounts as of and for the year ended December 31, 2022. As indicated in Management’s Report, Advant Medical was acquired during 2022. Management’s assertion on the effectiveness of the Company’s internal control over financial reporting excluded internal control over financial reporting of Advant Medical.

 

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/ GRANT THORNTON LLP 

 

Boston, Massachusetts

March 16, 2023

 

 

 

 

 

 

F-7

 

 

UFP TECHNOLOGIES, INC.

Consolidated Balance Sheets

(In thousands, except share data)

 

  

December 31,

 

Assets

 

2022

  

2021

 

Current assets:

        

Cash and cash equivalents

 $4,451  $11,117 

Receivables, net

  55,117   39,384 

Inventories

  53,536   33,436 

Prepaid expenses

  3,242   3,383 

Total current assets

  116,346   87,320 

Property, plant and equipment, net

  58,072   56,569 

Goodwill

  113,028   107,905 

Intangible assets, net

  68,361   67,585 

Non-qualified deferred compensation plan

  4,148   4,327 

Right of use assets

  13,153   9,324 

Deferred income taxes

  1,448   - 

Other assets

  3,636   1,102 

Total assets

 $378,192  $334,132 

Liabilities and Stockholders Equity

        

Current liabilities:

        

Accounts payable

 $19,961  $10,611 

Accrued expenses

  23,122   16,777 

Deferred revenue

  4,679   4,247 

Lease liabilities

  2,517 

 

 2,239 

Income taxes payable

  1,682   909 

Current installments, net of long-term debt

  4,000   4,000 

Total current liabilities

  55,961   38,783 

Long-term debt, excluding current installments

  51,000   71,000 

Deferred income taxes

  448   3,263 

Non-qualified deferred compensation plan

  4,167   4,337 

Lease liabilities

  10,851   7,118 

Other liabilities

  18,220   15,185 

Total liabilities

  140,647   139,686 

Commitments and contingencies (Note 16)

          

Stockholders’ equity:

        

Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued

  -   - 

Common stock, $.01 par value, 20,000,000 shares authorized; 7,611,244 and 7,581,685 shares issued and outstanding, respectively at December 31, 2022; and 7,564,645

and 7,535,086 shares issued and outstanding, respectively, at December 31, 2021

  76   75 

Additional paid-in capital

  36,070   34,151 

Retained earnings

  202,596   160,807 

Accumulated other comprehensive loss

  (610)  - 

Treasury stock at cost, 29,559 shares at December 31, 2022 and 2021

  (587)  (587)

Total stockholders' equity

  237,545   194,446 

Total liabilities and stockholders' equity

 $378,192  $334,132 

 

The accompanying notes are an integral part of these consolidated financial statements.

 

F-8

 

 

 

UFP TECHNOLOGIES, INC.

Consolidated Statements of Comprehensive Income

(In thousands, except per share data)

 

   

Years Ended December 31,

 
   

2022

   

2021

   

2020

 
                         

Net sales

  $ 353,792     $ 206,320     $ 179,373  

Cost of sales

    263,532       155,206       134,689  

Gross profit

    90,260       51,114       44,684  

Selling, general, and administrative expenses

    45,796       29,480       27,493  

Acquisition costs

    1,027       430       -  

Change in fair value of contingent consideration

    9,837       -       -  

Gain on sale of Molded Fiber business

    (15,651 )     -       -  

(Gain) loss on disposal of property, plant and equipment

    (6,149 )     (14 )     459  

Operating income

    55,400       21,218       16,732  

Interest expense, net

    2,763       39       83  

Other (income) expense

    (81 )     (26 )     366  

Income before income tax provision

    52,718       21,205       16,283  

Income tax expense

    10,929       5,319       2,914  

Net income

  $ 41,789     $ 15,886     $ 13,369  

Net income per common share outstanding:

                       

Basic

  $ 5.52     $ 2.11     $ 1.79  

Diluted

  $ 5.45     $ 2.09     $ 1.77  

Weighted average common shares outstanding:

                       

Basic

    7,564       7,524       7,484  

Diluted

    7,663       7,615       7,568  
                         

Comprehensive Income

                       

Net Income

  $ 41,789     $ 15,886     $ 13,369  

Other comprehensive income:

                       

Foreign currency translation adjustment

    (610 )     -       -  

Other comprehensive loss

    (610 )     -       -  

Comprehensive income

  $ 41,179     $ 15,886     $ 13,369  

 

The accompanying notes are an integral part of these consolidated financial statements.

 

F-9

 

 

 

UFP TECHNOLOGIES, INC.

Consolidated Statements of Stockholders Equity

Years Ended December 31, 2022, 2021 and 2020

(In thousands)

 

                                   

Accumulated

                         
                   

Additional

           

Other

                   

Total

 
   

Common Stock

   

Paid-in

   

Retained

   

Comprehensive

   

Treasury Stock

   

Stockholders'

 
   

Shares

   

Amount

   

Capital

   

Earnings

   

Loss

   

Shares

   

Amount

   

Equity

 
                                                                 

Balance at December 31, 2019

    7,446     $ 74     $ 30,952     $ 131,552     $ -       30     $ (587 )   $ 161,991  
                                                                 

Share-based compensation

    43       1       1,806       -       -       -       -       1,807  

Exercise of stock options

    26       -       474       -       -       -       -       474  

Net share settlement of restricted stock units

    (15 )     -       (748 )     -       -       -       -       (748 )

Net income

    -       -       -       13,369       -       -       -       13,369  
                                                                 

Balance at December 31, 2020

    7,500     $ 75     $ 32,484     $ 144,921     $ -       30     $ (587 )   $ 176,893  
                                                                 

Share-based compensation

    45       -       2,428       -       -       -       -       2,428  

Exercise of stock options

    7       -       162       -       -       -       -       162  

Net share settlement of restricted stock units

    (17 )     -       (923 )     -       -       -       -       (923 )

Net income

    -       -             15,886       -       -       -       15,886  
                                                                 

Balance at December 31, 2021

    7,535     $ 75     $ 34,151     $ 160,807     $ -       30     $ (587 )   $ 194,446  
                                                                 

Share-based compensation

    53       1       3,207       -       -       -       -       3,208  

Exercise of stock options

    17       -       390       -       -       -       -       390  

Net share settlement of restricted stock units

    (23 )     -       (1,678 )     -       -       -       -       (1,678 )

Other comprehensive loss

    -       -       -       -       (610 )     -       -       (610 )

Net income

    -       -       -       41,789       -       -       -       41,789  
                                                                 

Balance at December 31, 2022

    7,582     $ 76     $ 36,070     $ 202,596     $ (610 )     30     $ (587 )   $ 237,545  

 

The accompanying notes are an integral part of these consolidated financial statements.

 

F-10

 

 

 

UFP TECHNOLOGIES, INC.

Consolidated Statements of Cash Flows

(In thousands)

 

    Years Ended December 31,  
    2022     2021     2020  

Cash flows from operating activities:

                       

Net income from consolidated operations

  $ 41,789     $ 15,886     $ 13,369  

Adjustments to reconcile net income to net cash provided by operating activities:

                       

Depreciation and amortization

    11,886       8,410       8,268  

(Gain) loss on sales of property, plant and equipment

    (6,149 )     (14 )     459  

Gain on sale of Molded Fiber business

    (15,651 )     -       -  

Share-based compensation

    3,208       2,428       1,807  

Change in fair value of contingent consideration

    9,837       -       -  

Deferred income taxes

    (4,710 )     (1,794 )     136  

Changes in operating assets and liabilities:

                       

Receivables, net

    (16,864 )     (7,754 )     2,220  

Inventories

    (19,605 )     (4,496 )     (366 )

Prepaid expenses

    (692 )     (557 )     (256 )

Income taxes

    953       893       295  

Other assets

    (3,545 )     (681 )     (73 )

Accounts payable

    9,131       102       (681 )

Accrued expenses

    10,446       1,009       (537 )

Deferred revenue

    1,008       2,294       (687 )

Other liabilities

    (3,298 )     (1,433 )     1,083  

Net cash provided by operating activities

    17,744       14,293       25,037  
                         

Cash flows from investing activities:

                       

Additions to property, plant and equipment

    (13,780 )     (5,395 )     (4,368 )

Acquisitions, net of cash acquired

    (20,653 )     (96,178 )     -  

Proceeds from sale of Molded Fiber

    29,007       -       -  

Proceeds from sale of property, plant and equipment

    6,717       114       107  

Net cash provided by (used in) investing activities

    1,291       (101,459 )     (4,261 )
                         

Cash flows from financing activities:

                       

Proceeds from advances on revolving line of credit

    44,000       34,839       5,500  

Payments on revolving line of credit

    (60,000 )     -       (5,500 )

Proceeds from the issuance of long-term debt

    -       40,000       -  

Principal repayment of long-term debt

    (4,000 )     -       -  
Payment of contingent consideration     (4,543 )     -       -  

Principal payments on finance lease obligations

    (63 )     (29 )     (11 )

Proceeds from the exercise of stock options

    390       162       474  

Payment of statutory withholding for restricted stock units vested

    (1,678 )     (923 )     (748 )

Net cash (used in) provided by financing activities

    (25,894 )     74,049       (285 )

Effect of foreign currency exchange rates on cash and cash equivalents

    193       -       -  

Net change in cash and cash equivalents

    (6,666 )     (13,117 )     20,491  

Cash and cash equivalents at beginning of year

    11,117       24,234       3,743  

Cash and cash equivalents at end of year

  $ 4,451     $ 11,117     $ 24,234  

 

The accompanying notes are an integral part of these consolidated financial statements.

 

F-11

 

 

UFP TECHNOLOGIES, INC.

Notes to Consolidated Financial Statements

 

 

 

(1)

Summary of Significant Accounting Policies

 

UFP Technologies, Inc. (“the Company”) is a design, engineering, and custom manufacturer of comprehensive solutions for medical devices, sterile packaging, and other highly engineered custom products. The Company is an important link in the medical device supply chain and a valued outsource partner to many of the top medical device manufacturers in the world. The Company’s single-use and single-patient devices and components are used in a wide range of medical devices and packaging for minimally invasive surgery, infection prevention, wound care, wearables, orthopedic soft goods, and orthopedic implants.

 

The Company is diversified by also providing highly engineered products and components to customers in the automotive, aerospace and defense, consumer, electronics, and industrial markets. Typical applications of its products include military uniform and gear components, automotive interior trim, athletic padding, air filtration, abrasive nail files, and protective cases and inserts.

 

(a)    Principles of Consolidation

 

The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (partial year; entity was sold in July 2022), Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. The Company consists of a single operating and reportable segment. The Company has evaluated all subsequent events through the date of this filing.

 

(b)    Use of Estimates

 

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and the fair value of goodwill, and the fair value of intangible assets, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

(c)    Fair Value Measurement

 

The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.

 

(d)    Fair Value of Financial Instruments

 

Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the Company’s current incremental borrowing rate.

 

F- 12

 

(e)    Cash and Cash Equivalents

 

The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents. At December 31, 2022 and 2021, the Company did not have any cash equivalents.

 

The Company maintains its cash in bank deposit accounts that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does not believe it is exposed to any significant custodial credit risk on cash.

 

(f)     Accounts Receivable

 

The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management’s judgment. Conditions impacting the realizability of the Company’s receivables could cause actual asset write-offs to be materially different than the reserved balances as of December 31, 2022.

 

(g)    Inventories

 

Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the first-in, first-out (“FIFO”) method.

 

The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management’s judgment. Conditions impacting the realizability of the Company’s inventory could cause actual asset write-offs to be materially different than the Company’s current estimates as of December 31, 2022.

 

(h)    Property, Plant, and Equipment

 

Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.

 

Estimated useful lives of property, plant, and equipment are as follows:

 

Leasehold improvements

Shorter of estimated useful life
or remaining lease term

Buildings and improvements (years)

20 -30

Machinery and equipment (years)

7 – 15

Furniture, fixtures, computers & software (years)

3 – 7

 

Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset’s carrying value over its fair value. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

(i)     Goodwill

 

Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount may be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are one level below the business segment level but can be combined when reporting units within the same segment have similar economic characteris‐tics. An impairment loss generally would be recognized when the carrying amount of the reporting unit’s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In performing the most recent “step 1” evaluation of goodwill impairment, the Company primarily utilized the guideline public company (“GPC”) method under the market approach and the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, one that a prudent investor would require before making an investment in our equity securities.

 

F- 13

 

The Company changed its annual impairment testing date in 2021 to October 1 in order to allow for sufficient time to complete its analysis. As of our most recent step 1 evaluation on October 1, 2022, based on calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If the Company’s actual operating results and/or the key assumptions utilized in management’s calculations differ from our expectations, it is possible that a future impairment charge may be necessary.

 

(j)     Intangible Assets

 

Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values may not be recoverable. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

(k)    Revenue Recognition

 

The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does not transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.

 

(l)     Share-Based Compensation

 

When accounting for equity instruments exchanged for employee services, share-based compen‐sation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee’s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.

 

(m)   Shipping and Handling Costs

 

Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.

 

F- 14

 

(n)    Income Taxes

 

The Company’s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carry‐forwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.

 

The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than not to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would not be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.

 

The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.

 

(o)    Segments and Related Information

 

The Company follows the provisions of Accounting Standards Codification (ASC) 280, Segment Reporting, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note 19).

 

(p)    Treasury Stock

 

The Company accounts for treasury stock under the cost method, using the first-in, first out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. The Company did not repurchase any shares of common stock during the years ended December 31, 2022, 2021 and 2020.

 

(q)    Research and Development

 

On a routine basis, the Company incurs costs related to research and development activity. These costs are expensed as incurred. Approximately $9.3 million, $8.5 million, and $8.2 million were expensed in the years ended December 31, 2022, 2021 and 2020, respectively.

 

(r)    Foreign Currency Translation

 

The Company translates all assets and liabilities of its foreign subsidiaries, where the U.S. dollar is not the functional currency, at the period-end exchange rate and translates income and expenses at the average exchange rates in effect during the period. The net effect of this translation is recorded in the consolidated financial statements as a component of Accumulated Other Comprehensive Income (AOCI). Translation adjustments are not adjusted for income taxes as they relate to permanent investments in the Company’s foreign subsidiaries.

 

Recent Accounting Pronouncements

 

There are no newly issued accounting pronouncements that the Company expects to have a material effect on the financial statements.

 

F- 15

 

Revisions

 

Certain revisions have been made to the December 31, 2021 Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of other liabilities (long-term) to accrued expenses (current). The reclassification resulted in an increase in accrued expenses of $4.1 million and a decrease in other liabilities of $4.1 million. These revisions had no impact on previously reported earnings, net income or cash flows and are deemed immaterial to the previously issued financial statements.

 

 

(2)

Acquisitions and Divestiture

 

Molded Fiber

 

On July 26, 2022, pursuant to a share purchase agreement and related agreements, the Company sold its Moulded Fiber Technology, Inc. (“MFT”) and related real estate in Iowa to CKF USA INCORPORATED (“CKF”) (a Delaware Corporation) for approximately $31.5 million (including a working capital adjustment of approximately $0.1 million that decreased the total consideration). The net book value of the assets sold were approximately $15.4 million and the Company recorded a net gain on sale of approximately $15.7 million, which was recorded in the year ended December 31, 2022. $2.6 million of the purchase price is being held in escrow to indemnify CKF against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. MFT’s annual revenue was approximately $21.3 million for the year ended December 31, 2021. Proceeds from the sale were used to pay down debt on the Company’s revolving credit facility, as well as income tax obligations on the related gain.

 

Advant Medical

 

On March 16, 2022, the Company purchased 100% of the outstanding shares of common stock of Advant Medical, Ltd., Advant Medical Inc. and Advant Medical Costa Rica, Limitada, (together Advant), pursuant to a Stock Purchase Agreement and related agreements, for an aggregate purchase price of €19.0 million in cash along with a working capital adjustment at closing (total consideration in U.S. Dollars amounted to approximately $21.2 million). The purchase price was subject to additional adjustment based upon Advant’s final working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Stock Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.

 

Founded in 1993, Advant is headquartered in Galway, Ireland, with operations in Costa Rica and partner manufacturing in Mexico. Advant is a developer and manufacturer of Class I, II, and III medical devices and packaging, primarily for catheters and guide wires.

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

F- 16

 

Fair value of considerations transferred

    

Cash paid at closing

 $23,608 

Other liability

  395 

Cash from Advant

  (2,840)

Total consideration

 $21,163 
     

Purchase price allocation

    

Accounts receivable

 $2,299 

Inventory

  2,410 

Other current assets

  213 

Property, plant, and equipment

  5,704 

Customer contracts & relationships

  2,925 

Intellectual property

  2,127 

Non-compete agreement

  259 

Lease right of use assets

  289 

Other assets

  41 

Goodwill

  7,140 

Total identifiable assets

 $23,407 

Accounts payable

  (772)

Accrued expenses

  (668)

Income taxes

  (66)

Deferred taxes

  (449)

Lease liabilities

  (289)

Net assets acquired

 $21,163 

 

Acquisition costs associated with the transaction were approximately $789 thousand, of which $759 thousand was charged to expense in the year ended December 31, 2022, and $30 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal, investment banking, and valuation services, as well as stamp duty filings and are reflected on the face of the income statement.

 

The amount of revenue and earnings of Advant recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2022, was approximately $20.0 million and $2.4 million, respectively.

 

Pro-forma statements

 

The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended December 31, 2022, and 2021, as if the Advant acquisition had occurred at the beginning of 2021 (in thousands):

 

  

Year Ended December 30,

 
  

2022

  

2021

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $358,196  $291,403 

Operating Income

 $56,321  $27,729 

Net Income

 $42,311  $21,805 

Earnings per share:

        

Basic

 $5.59  $2.90 

Diluted

 $5.52  $2.86 

 

F- 17

 

The above unaudited pro forma information is presented for illustrative purposes only and may not be indicative of the results of operations that would have occurred had the acquisition occurred as presented. In addition, future results may vary significantly from the results reflected in such pro forma information.

 

DAS Medical

 

On December 22, 2021, the Company purchased 100% of the outstanding membership interests of DAS Medical Holdings, LLC, (DAS Medical) pursuant to a Securities Purchase Agreement, for a net purchase price of $66.7 million in cash. The purchase price was subject to adjustment based upon DAS Medical’s final working capital at closing, and the purchase price may be increased by up to $20.0 million in earn-out payments based upon the achievement of certain EBITDA and/or revenue targets of DAS Medical for the years ended December 31, 2022, 2023, 2024 and 2025. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. As a result of the final working capital adjustment, the total consideration was reduced by approximately $115 thousand.

 

In connection with its entry into the Purchase Agreement, the Company also entered into an Agreement for the Purchase and Sale of Personal Goodwill (the “Goodwill Agreement”) with the purchase price beneficiaries. Pursuant to the terms of the Goodwill Agreement, on December 22, 2021, the Company purchased from the beneficiaries their personal goodwill, including business relationships, trade secrets and knowledge in connection with DAS Medical’s business, for a purchase price of $20 million in cash.

 

The Company has also entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the ten years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners.

 

Founded in 2010, DAS Medical is headquartered in Atlanta, Georgia, with manufacturing in the Dominican Republic. DAS Medical is a medical device contract manufacturer specializing in the design, development and production of single-use surgical equipment covers, robotic draping systems and fluid control pouches.

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

F- 18

 

Fair value of considerations transferred

    

Cash paid at closing

 $95,000 

Contingent liability (Earn-out)

  5,188 

Non-compete agreements

  8,855 

Cash from DAS

  (8,316)

Working capital adjustment

  (115)

Total consideration

 $100,612 
     

Purchase price allocation

    

Accounts receivable

 $2,351 

Inventory

  7,570 

Other current assets

  68 

Property, plant, and equipment

  3,314 

Customer contracts & relationships

  36,730 

Intellectual property

  2,380 

Non-compete agreement

  4,697 

Lease right of use assets

  1,221 

Goodwill

  51,742 

Total identifiable assets

 $110,073 

Accounts payable

  (5,238)

Accrued expenses

  (2,995)

Deferred revenue

  (7)

Lease liabilities

  (1,221)

Net assets acquired

 $100,612 

 

Acquisition costs associated with the transaction were approximately $448 thousand, of which $155 thousand was charged to expense in the year ended December 31, 2022, and $293 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal and valuation services and are reflected on the face of the income statement.

 

The amount of revenue and net income of DAS Medical recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2021, was approximately $1.4 million and $0.1 million, respectively.

 

Contech Medical

 

On October 12, 2021, the Company purchased 100% of the outstanding shares of common stock of Contech Medical, Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price of $9.5 million in cash, the assumption of a contingent liability of $0.5 million plus up to an additional $5 million based upon the achievement of certain EBITDA targets of Contech for the 12-month period ended June 30, 2022. The purchase price was subject to adjustment based upon Contech’s working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.

 

Founded in 1987, Contech is based in Providence, Rhode Island with partner manufacturing in Costa Rica. Contech is a global leader in the design, development, and manufacture of Class III medical device packaging primarily for catheters and guide wires. The Company has leased the Providence location from a realty trust owned by the selling shareholders and affiliates. The lease is for five years with one five-year renewal option.

 

F- 19

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

Fair value of consideration transferred:

    

Cash paid at closing

 $9,766 

Contingent liability (Earn-out)

  4,543 

Other liability

  500 

Cash from Contech

  (266)

Total consideration

 $14,543 
     

Purchase Price Allocation:

    

Accounts receivable

 $2,851 

Inventory

  2,320 

Other current assets

  37 

Property, plant and equipment

  1,170 

Customer Contracts & Relationships

  3,043 

Intellectual Property

  2,247 

Non-Compete agreement

  86 

Lease right of use assets

  1,523 

Goodwill

  4,278 

Total identifiable assets

 $17,555 

Accounts payable

  (1,015)

Accrued expenses

  (414)

Deferred revenue

  (60)

Lease liabilities

  (1,523)

Net assets acquired

 $14,543 

 

Acquisition costs associated with the transaction were approximately $153 thousand, of which $113 thousand was charged to expense in the year ended December 31, 2022, and $40 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal and valuation services and are reflected on the face of the income statement.

 

The amount of revenue and net income of Contech recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2021, was approximately $4.5 million and $0.5 million, respectively.

 

The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended December 31, 2021, and 2020, as if both acquisitions had occurred at the beginning of 2020 (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $269,932  $235,328 

Operating Income

 $25,878  $22,617 

Net Income

 $20,562  $18,354 

Earnings per share:

        

Basic

 $2.73  $2.45 

Diluted

 $2.70  $2.43 

 

F- 20

 

The above unaudited pro forma information is presented for illustrative purposes only and may not be indicative of the results of operations that would have occurred had both acquisitions occurred as presented. In addition, future results may vary significantly from the results reflected in such pro forma information.

 

 

(3)

Revenue Recognition

 

Disaggregated Revenue

 

The following table presents the Company’s revenue disaggregated by the major types of goods and services sold to our customers (in thousands) (See Note 19 for further information regarding net sales by market):

 

   

Years Ended December 31,

 
   

2022

   

2021

   

2020

 

Net sales of:

                       

Products

  $ 342,742     $ 201,248     $ 172,299  

Tooling and Machinery

    6,307       1,814       2,787  

Engineering services

    4,743       3,258       4,287  

Total net sales

  $ 353,792     $ 206,320     $ 179,373  

 

Contract balances

 

Timing of revenue recognition may differ from the timing of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities) included within “deferred revenue” on the condensed consolidated balance sheet.

 

The following table presents opening and closing balances of contract liabilities for the years ended December 31, 2022, and 2021 (in thousands):

 

   

Contract Liabilities

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Deferred revenue - beginning of period

  $ 4,247     $ 1,887  

Acquired in business combinations

    -       69  

Increases due to consideration received from customers

    6,337       4,007  

Revenue recognized

    (5,330 )     (1,716 )

Decrease due to sale of Molded Fiber

    (575 )     -  

Deferred revenue - end of period

  $ 4,679     $ 4,247  

 

Revenue recognized during the years ended December 31, 2022 and 2021 from amounts included in deferred revenue at the beginning of the period was approximately $2.2 million and $0.8 million, respectively.

 

F- 21

 

When invoicing occurs after revenue recognition, the Company has unbilled receivables (contract assets) included within “receivables” on the condensed consolidated balance sheet.

 

The following table presents opening and closing balances of contract assets for the years ended December 31, 2022 and 2021 (in thousands):

 

   

Contract Assets

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Unbilled Receivables - beginning of period

  $ 74     $ 271  

Increases due to revenue recognized, not invoiced to customers

    3,653       1,815  

Decreases due to customer invoicing

    (3,457 )     (2,012 )

Unbilled Receivables - end of period

  $ 270     $ 74  

 

 

(4)

Supplemental Cash Flow Information

 

 

Years Ended December 31,

 
 

2022

 

2021

 

2020

 
       

(in thousands)

       

Cash paid for:

                 

Interest

$ 2,721   $ 53   $ 71  

Income taxes, net of refunds

  13,200     5,914     2,481  
                   

Non-cash investing and financing activities:

                 

Capital additions accrued but not yet paid

$ 125   $ 135   $ 225  

Accrued contingent consideration

  14,568     9,731     -  

Present value of non-competition payments

  10,043     9,477     -  

Finance lease right of use assets

  -     187     108  

Finance lease liabilities

  -     (187 )   (108 )

Operating lease right of use assets

  329     7,782     -  

Operating lease liabilities

  (329 )   (7,782 )   -  

 

 

(5)

Receivables and Allowance for Credit Losses

 

Receivables consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Accounts receivable–trade

  $ 55,850     $ 39,903  

Less allowance for credit losses

    (733 )     (519 )

Receivables, net

  $ 55,117     $ 39,384  

 

The Company is exposed to credit losses primarily through sales of products and services. The Company’s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' trade accounts receivables. Due to the short-term nature of such receivables, the estimate of the amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances and the financial condition of customers. Additionally, specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company’s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions. Balances are written-off when determined to be uncollectible. Estimates based on an assessment of anticipated payment and all other historical, current, and future information that is reasonably available are used to determine the allowance.

 

F- 22

 

The following table provides a roll-forward of the allowance for credit losses that is deducted from accounts receivable to present the net amount expected to be collected for the years ended December 31, 2022 and 2021 (in thousands):

 

   

Allowance for Credit Losses

 
   

Year Ended December 31,

 
   

2022

   

2021

 

Allowance - beginning of period

  $ 519     $ 484  

Provision for expected credit losses

    293       179  

Amounts written off against the allowance, net of recoveries

    (40 )     (144 )

Decrease due to sale of Molded Fiber business

    (39 )     -  

Allowance - end of period

  $ 733     $ 519  

 

 

(6)

Inventories

 

Inventories consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Raw materials

  $ 42,475     $ 22,184  

Work in process

    4,183       4,205  

Finished goods

    6,878       7,047  

Total Inventory

  $ 53,536     $ 33,436  

 

 

(7)

Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill for the years ended December 31, 2022 and 2021 are as follows (in thousands):

 

   

2022

   

2021

 
                 

Opening balance

  $ 107,905     $ 51,838  

Acquired in business combinations (See Note 2)

    7,140       56,067  

DAS working capital adjustment

    196       -  

DAS opening balance sheet reclassification

    (243 )     -  

Sale of Molded Fiber

    (1,778 )     -  

Foreign currency translation

    (192 )     -  

Ending balance

  $ 113,028     $ 107,905  

 

Approximately $106.0 million of goodwill at December 31, 2022, is deductible for tax purposes

 

F- 23

 

The carrying values of the Company’s definite-lived intangible assets as of December 31, 2022 and 2021 are as follows (in thousands):

 

December 31, 2022

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.3 years

         

Gross amount

  $ 65,174     $ 7,064     $ 5,497     $ 77,735  

Accumulated amortization

    (7,665 )     (727 )     (982 )   $ (9,374 )

Net balance

  $ 57,509     $ 6,337     $ 4,515     $ 68,361  

 

December 31, 2021

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.5 years

         

Gross amount

  $ 62,328     $ 4,994     $ 5,245     $ 72,567  

Accumulated amortization

    (4,442 )     (175 )     (365 )   $ (4,982 )

Net balance

  $ 57,886     $ 4,819     $ 4,880     $ 67,585  

 

Amortization expense related to intangible assets was approximately $4.4 million, $1.3 million, and $1.3 million for the years ended December 31, 2022, 2021, and 2020, respectively. The estimated remaining amortization expense as of December 31, 2022 is as follows (in thousands):

 

2023

  $ 4,408  

2024

    4,401  

2025

    4,401  

2026

    4,399  

2027

    4,397  

Thereafter

    46,355  

Total

  $ 68,361  

 

 

(8)

Property, Plant and Equipment

 

Property, plant, and equipment consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Land and improvements

  $ 4,811     $ 3,191  

Buildings and improvements

    34,446       36,234  

Leasehold improvements

    5,503       4,859  

Machinery & equipment

    52,233       72,963  

Furniture, fixtures, computers & software

    6,401       6,052  

Construction in progress

    7,272       3,538  

Property, plant and equipment

  $ 110,666     $ 126,837  

Accumulated depreciation and amortization

    (52,594 )     (70,268 )

Net property, plant and equipment

  $ 58,072     $ 56,569  

 

Depreciation and amortization expense of Property, Plant and Equipment for the years ended December 31, 2022, 2021, and 2020 was approximately $7.5 million, $7.1 million, and $7.0 million, respectively.

 

F- 24

 
 

(9)

Debt

 

On December 22, 2021, the Company, as the borrower, entered into a secured $130 million Second Amended and Restated Credit Agreement (the “Second Amended and Restated Credit Agreement”) with certain of the Company’s subsidiaries (the “Subsidiary Guarantors”) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time-to-time party thereto. The Second Amended and Restated Credit Agreement amends and restates the Company’s prior credit agreement, originally dated as of February 1, 2018.

 

The credit facilities under the Second Amended and Restated Credit Agreement consist of a $40 million secured term loan to the Company and a secured revolving credit facility, under which the Company may borrow up to $90 million. The Second Amended and Restated Credit Agreement matures on December 21, 2026. The secured term loan requires quarterly principal payments of $1 million that commenced on March 31, 2022. The proceeds of the Second Amended and Restated Credit Agreement may be used for general corporate purposes, including funding the acquisition of DAS Medical, as well as certain other permitted acquisitions. The Company’s obligations under the Second Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.

 

The Second Amended and Restated Credit Agreement calls for interest determined by the Bloomberg Short-Term Bank Yield Index rate (“BSBY”) plus a margin that ranges from 1.25% to 2.0% or, at the discretion of the Company, the bank’s prime rate less a margin that ranges from 0.25% to zero. In both cases the applicable margin is dependent upon Company performance. Under the Second Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The Second Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness, and permitted investments.

 

At December 31, 2022, the Company had approximately $55 million in borrowings outstanding under the Second Amended and Restated Credit Agreement, which were used as partial consideration for the DAS Medical and Advant acquisitions, and also had approximately $0.7 million in standby letters of credit outstanding, drawable as a financial guarantee on worker’s compensation insurance policies. At December 31, 2022, the applicable interest rate was approximately 5.2% and the Company was in compliance with all covenants under the Second Amended and Restated Credit Agreement.

 

Long-term debt consists of the following (in thousands):

 

  

December 31,

2022

 

Revolving credit facility

 $19,000 

Term loan

  36,000 

Total long-term debt

  55,000 

Current portion

  (4,000)

Long-term debt, excluding current portion

 $51,000 

 

Future maturities of long-term debt at December 31, 2022 are as follows (in thousands):

 

Year ended December 31,

 

Term Loan

  

Revolving credit facility

  

Total

 

2023

 $4,000  $-  $4,000 

2024

  4,000   -   4,000 

2025

  4,000   -   4,000 

2026

  24,000   19,000   43,000 
  $36,000  $19,000  $55,000 

 

F- 25

 

Derivative Financial Instruments

 

The Company used interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does not enter into derivative instruments for any purpose other than cash flow hedging. Derivative financial instruments expose the Company to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is not exposed to the counterparty’s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates.

 

The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that may adversely impact expected future cash flows and by evaluating hedging opportunities. The Company’s debt obligations exposed the Company to variability in interest payments due to changes in interest rates. The Company believed that it was prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the first Amended and Restated Credit Agreement, the Company entered into a $20 million, 5-year interest rate swap agreement under which the Company receives three-month LIBOR plus the applicable margin and pays a 2.7% fixed rate plus the applicable margin. The swap modified the Company’s interest rate exposure by converting the previous term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was approximately $5.7 million at December 31, 2022. The fair value of the swap as of December 31, 2022 and 2021 was zero and approximately $(176) thousand, respectively, and is included in other liabilities. Changes in the fair value and net cash settlement amounts related to the swap are recorded in other income of approximately $176 thousand and approximately $24 thousand during the years ended December 31, 2022 and 2021, respectively.

 

As the Company has paid the remaining balance of the term loan that was associated with the swap in its entirety, there is no longer underlying debt to hedge against with the swap. The changes in the fair value of the swap will continue to be accounted for as a financial instrument until its maturity, on February 1, 2023.

 

 

(10)

Accrued Expenses

 

Accrued expenses consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Compensation

  $ 7,949     $ 6,498  

Current portion of contingent consideration

    5,000       4,543  

Current portion of present value of non-competition payments

    1,888       156  

Accrued customer rebates

    3,493       1,241  

Other

    4,792       4,339  
    $ 23,122     $ 16,777  

 

Certain amounts for the year ended December 31, 2021 were revised to conform to the current year presentation (See Note 1).

 

F- 26

 
 

(11)

Income Tax

 

The Company’s domestic and foreign net income before provision for income taxes for the years ended December 31, 2022, 2021, and 2020 consists of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 
             

Domestic

 $34,654  $21,205  $16,283 

Foreign

  18,064   -   - 

Total

  52,718   21,205   16,283 

 

The Company’s income tax provision for the years ended December 31, 2022, 2021, and 2020 consists of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Current

            

Federal

 $11,238  $5,793  $2,223 

State

  2,309   1,320   555 

Foreign

  1,863   -   - 

Total Current

  15,410   7,113   2,778 

Deferred

            

Federal

  (3,856)  (1,399)  (28)

State

  (624)  (395)  164 

Foreign

  (1)  -   - 

Total Deferred

  (4,481)  (1,794)  136 

Total income tax provision

 $10,929  $5,319  $2,914 

 

The approximate tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Deferred tax assets:

        

Reserves

 $450  $380 

Inventory capitalization

  305   706 

Compensation programs

  2,120   1,842 

Equity-based compensation

  690   668 

Lease liability

  3,298   2,427 

Intangible assets

  1,132   877 

Deferred revenue

  1,115   365 

Other

  362   17 

Gross deferred tax assets

  9,472   7,282 

Valuation allowance

  -   (17)

Net deferred tax assets

  9,472   7,265 
         

Deferred tax liabilities:

        

Excess of book over tax basis of fixed assets

  (2,782)  (4,481)

Goodwill

  (2,445)  (3,628)

Right of use asset

  (3,245)  (2,419)

Total deferred tax liabilities

  (8,472)  (10,528)

Net long-term deferred tax assets (liabilities)

 $1,000  $(3,263)

 

 

 

F- 27

 

The amounts recorded as deferred tax assets as of December 31, 2022 and 2021 represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than not to be realized through the generation of sufficient future taxable income within the carryforward period. The Company had gross deferred tax assets of approximately $9.5 million at December 31, 2022, that it believes are more likely than not to be realized in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.

 

The Company has provided a valuation allowance of zero and $17 thousand at December 31, 2022 and 2021, respectively, for deferred tax assets (net of federal tax benefit).

 

The actual tax provision for the years presented differs from that derived from using a U.S federal statutory rate of 21% to income before income tax expense as follows:

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

U.S. federal statutory rate

  21.0%  21.0%  21.0%

Increase (decrease) in income taxes resulting from:

            

State taxes, net of federal tax benefit

  3.2   4.0   4.2 

Meals and entertainment

  -   -   0.1 

Tax credits

  (0.7)  (1.7)  (7.2)

Return to provision adjustments

  -   0.7   - 

Foreign rate differential

  (3.7)  -   - 

GILTI impact

  0.8   -   - 

Excess tax benefits on equity awards

  -   -   (1.2)

Excess compensation

  0.8   0.7   0.8 

Other

  (0.7)  0.6   0.2 

Change in valuation allowance

  -   (0.2)  - 

Effective tax rate

  20.7%  25.1%  17.9%

 

The Company’s foreign subsidiary earnings are subject to current U.S. taxation under the Tax Cuts and Jobs Act of 2017, which also repealed U.S. taxation on the subsequent repatriation of those earnings. We intend to repatriate substantially all of our future foreign subsidiary earnings.  The repatriation of earnings outside of the U.S. generally does not represent a material net tax impact to the Company. The withholding taxes associated with the Company’s earnings in the Dominican Republic are generally fully creditable against the Company US tax liability and therefore do not produce any incremental tax consequences.  The earnings of the Company’s other foreign subsidiaries, and therefore the withholding taxes associated with those earnings, are not material as of December 31, 2022.

 

The Company files income tax returns in the U.S. federal jurisdiction and various state jurisdictions, as well as Ireland and Costa Rica.  It currently does not have a local filing obligation with respect to its subsidiary in the Dominican Republic.  The Company has not been audited by any state for income taxes with the exception of returns filed in Michigan which have been audited through 2004, income tax returns filed in Massachusetts which have been audited through 2007, income tax returns filed in Florida which have been audited through 2019, income tax returns filed in New Jersey which have been audited through 2012, income tax returns in Colorado which have been audited through 2017, and income tax returns in Iowa which have been audited  through 2019. The Company’s federal tax return is currently being audited for the years 2019 and 2020. Federal and state tax returns for the years 2019 through 2022 remain open to examination by the IRS and various state jurisdictions.  The Company’s non-US tax returns in Ireland and Costa Rica are open back to 2018.

 

At December 31, 2022 and 2021, the Company did not have any gross unrecognized tax benefits (“UTB”) resulting from uncertain tax positions.

 

F- 28

 
 

(12)

Net Income Per Share

 

Basic income per share is based upon the weighted average common shares outstanding during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share consisted of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Basic weighted average common shares outstanding during the year

  7,564   7,524   7,484 

Weighted average common equivalent shares due to stock options and restricted stock units

  99   91   84 

Diluted weighted average common shares outstanding during the year

  7,663   7,615   7,568 

 

The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the exercise price of the related options during the period. These outstanding stock awards are not included in the computation of diluted earnings per share because the effect would have been antidilutive.

 

For the years ended December 31, 2022, 2021, and 2020, the number of stock awards excluded from the computation was 9,876, 10,716, and 14,892, respectively.

 

 

(13)

Share-Based Compensation

 

The Company issues share-based awards through several plans that are described in detail below.

 

Incentive Plan

 

In June 2003, the Company formally adopted the 2003 Incentive Plan (the “Plan”). As amended and restated to date, the Plan is intended to benefit the Company by offering equity-based and other incentives to certain of the Company’s executives and employees who are in a position to contribute to the long-term success and growth of the Company, thereby encouraging the continuance of their involvement with the Company and/or its subsidiaries.

 

Two types of equity awards may be granted to participants under the Plan: restricted shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of common stock. Such awards may include Restricted Stock Unit Awards (“RSUs”), incentive and non-qualified stock options, performance shares, or stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.

 

Through December 31, 2022, 1,327,064 shares of common stock were issued under the 2003 Incentive Plan, none of which have been restricted. An additional 98,448 shares are being reserved for outstanding grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company has also granted awards in the form of stock options under this Plan. Through December 31, 2022, 185,000 options were granted and no options are outstanding. At December 31, 2022, 738,769 shares or options are available for future issuance in the 2003 Incentive Plan.

 

Director Plan

 

Effective July 15, 1998, the Company adopted the 1998 Director Plan, which was amended and renamed on June 3, 2009 as the 2009 Non-Employee Director Stock Incentive Plan (the “Director Plan”). The Director Plan was amended on March 7, 2013, to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company’s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan was amended on June 8, 2022, to increase the maximum number of shares issuable under the Director Plan from 975,000 to 1,075,000. The Director Plan, as amended, provides for the issuance of stock options and other equity-based securities to non-employee members of the Company’s board of directors.

 

F- 29

 

Through December 31, 2022, 400,510 options were granted, and 93,302 options are outstanding. For the year ended December 31, 2022, 3,882 RSUs are being reserved for outstanding grants of RSUs and 131,846 shares remain available to be issued under the Director Plan.

 

Share-based compensation is measured at the grant date based on the fair value of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant). Share-based compensation is included in selling, general & administrative expenses as follows (in thousands):

 

  

Years Ended December 31,

 

Share-based compensation related to:

 

2022

  

2021

  

2020

 

Common stock grants

 $400  $400  $400 

Stock option grants

  263   210   232 

Restricted Stock Unit awards

  2,545   1,818   1,175 

Total share-based compensation

 $3,208  $2,428  $1,807 

 

The total income tax benefit recognized in the consolidated statements of income for share-based compensa‐tion arrangements was approximately $1.3 million, $0.8 million, and $0.7 million for the years ended December 31, 2022, 2021, and 2020, respectively.

 

Common stock grants

 

The compensation expense for common stock granted during the three-year period ended December 31, 2022, was determined based on the market price of the shares on the date of grant.

 

Stock option grants

 

The compensation expense for stock options granted during the three-year period ended Decem‐ber 31, 2022, was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Expected volatility

  34.7%  33.7%  32.8%

Expected dividends

 

None

  

None

  

None

 

Risk-free interest rate

  2.9%  0.8%  0.3%

Exercise price

 $77.28  $57.34  $43.95 

Expected term (years)

  6.2   6.2   6.1 

Weighted-average grant date fair value

 $30.37  $19.60  $14.10 

 

The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company’s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.

 

F- 30

 

The following is a summary of stock option activity for the year ended December 31, 2022:

 

  

Shares Under Options

  

Weighted Average Exercise Price
(per share)

  

Weighted Average Remaining Contractual Life
(in years)

  

Aggregate Intrinsic Value
(in thousands)

 
                 

Outstanding December 31, 2021

  98,671  $33.53         

Granted

  9,876   77.28         

Exercised

  (16,472)  23.72         

Outstanding December 31, 2022

  92,075  $39.98   5.95  $7,174 

Exercisable at December 31, 2022

  82,199  $35.50   5.53  $6,773 

Vested and expected to vest at December 31, 2022

  92,075  $39.98   5.95  $7,174 

 

During the years ended December 31, 2022, 2021, and 2020, the total intrinsic value of all options exercised (i.e., the difference between the market price and the price paid by the employees to exercise the options) was approximately $1.2 million, $0.2 million, and $0.8 million, respectively, and the total amount of consideration received from the exercise of these options was approximately $0.4 million, $0.2 million, and $0.5 million, respectively. At its discretion, the Company allows option holders to surrender previously owned common stock in lieu of paying the exercise price and withholding taxes. During the year ended December 31, 2022, 1,876 shares were redeemed for this purpose at an average market price of $95.82. During both the years ended December 31, 2021 and 2020, no shares were redeemed for this purpose.

 

Restricted Stock Unit awards (RSUs)

 

The Company grants RSUs to its directors, executive officers and employees. The stock unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant, which is equal to the Company’s closing stock price, and is charged, to expense ratably during the service period. No compensation expense is taken on awards that do not become vested, and the amount of compensation expense recorded is adjusted based on management’s determination of the probability that these awards will become vested.

 

The following table summarizes informa‐tion about stock unit award activity during the year ended December 31, 2022:

 

  

Restricted Stock Units

  

Weighted Average Award Date Fair Value

 

Outstanding at December 31, 2021

  101,168  $41.78 

Awarded

  51,981   74.66 

Shares vested

  (49,575)  41.05 

Forfeitures

  (1,244)  63.34 

Outstanding at December 31, 2022

  102,330  $56.02 

 

At the Company’s discretion, RSU holders are given the option to net-share settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common shares. During the year ended December 31, 2022, 19,425 shares were redeemed for this purpose at an average market price of $67.05. During the years ended December 31, 2021 and 2020, 14,190 and 11,423 shares were redeemed for this purpose at an average market price of $52.55 and $49.91, respectively.

 

F- 31

 

The following summarizes the future share-based compensation expense the Company will record as the equity securities granted through December 31, 2022, vest (in thousands):

 

  

Options

  

Restricted
Stock Units

  

Total

 

2023

 $131  $2,186  $2,317 

2024

  -   1,287   1,287 

2025

  -   150   150 

Total

 $131  $3,623  $3,754 

 

 

(14)

Leases

 

The Company has operating and finance leases for offices, manufacturing plants, vehicles and certain office and manufacturing equipment. Leases with an initial term of 12 months or less are not recorded on the balance sheet. The Company accounts for each separate lease component of a contract and its associated non-lease components as a single lease component, thus causing all fixed payments to be capitalized. Variable lease payment amounts that cannot be determined at the commencement of the lease such as increases in lease payments based on changes in index rates or usage, are not included in the right of use (“ROU”) assets or lease liabilities. These are expensed as incurred and recorded as variable lease expense. The Company determines if an arrangement is a lease at the inception of a contract. Operating and finance lease ROU assets and operating and finance lease liabilities are stated separately in the condensed consolidated balance sheet. 

 

ROU assets represent the Company's right to use an underlying asset during the lease term and lease liabilities represent the Company's obligation to make lease payments arising from the lease.  ROU assets and lease liabilities are recognized at commencement date based on the net present value of fixed lease payments over the lease term.  The Company's lease term includes options to extend or terminate the lease when it is reasonably certain that it will exercise that option.  ROU assets are also adjusted for any deferred or accrued rent. As the Company's leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.

 

ROU assets and lease liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Operating lease ROU assets

 $12,942  $9,053 

Finance lease ROU assets

  211   271 

Total ROU assets

 $13,153  $9,324 
         

Operating lease liabilities - current

 $2,458  $2,181 

Finance lease liabilities - current

  59   58 

Total lease liabilities - current

 $2,517  $2,239 
         

Operating lease liabilities - long-term

 $10,695  $6,903 

Finance lease liabilities - long-term

  156   215 

Total lease liabilities - long-term

 $10,851  $7,118 

 

F- 32

 
  

Year Ended

 
  

December 31,

 
  

($ in thousands)

 
  

2022

  

2021

 

Lease Cost:

        

Finance lease cost:

        

Amortization of right of use assets

 $60  $27 

Interest on lease liabilities

  5   3 

Operating lease cost

  2,621   1,263 

Variable lease cost

  304   263 

Short-term lease cost

  57   43 

Total lease cost

 $3,047  $1,599 
         

Cash paid for amounts included in measurement of lease liabilities:

        

Operating cash flows from operating leases

 $2,452  $1,284 

Financing cash flows from finance leases

  63   29 

ROU assets obtained in exchange for finance lease obligations

  -   198 
         

Weighted-average remaining lease term (years):

        

Finance

  3.54   4.54 

Operating

  5.34   3.95 

Weighted-average discount rate:

        

Finance

  2.10%  2.10%

Operating

  3.00%  2.63%

 

The aggregate future lease payments for leases as of December 31, 2022 were as follows (in thousands):

 

  

December 31, 2022

 
  

Finance

  

Operating (a)

 

2023

 $63  $2,492 

2024

  63   2,420 

2025

  63   2,234 

2026

  28   2,012 

2027

  6   1,709 

Thereafter

  -   3,611 

Total lease payments

  223   14,478 

Less: Interest

  (8)  (1,325)

Present value of lease liabilities

 $215  $13,153 

 

 

(a)

Future operating lease payments have not been reduced by minimum sublease rentals of approximately $2.1 million due in the future under non-cancelable subleases.

 

Rent expense amounted to approximately $2.6 million, $1.4 million, and $1.3 million in 2022, 2021, and 2020, respectively.

 

F- 33

 
 

(15)

Other Long-Term Liabilities

 

Other long-term liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Accrued contingent consideration (earn-out)

 $9,568  $5,188 

Present value of non-competition payments

  8,155   9,321 

Other

  497   676 
  $18,220  $15,185 

 

Certain amounts for the year ended December 31, 2021 were revised to conform to the current year presentation (See Note 1).

 

 

(16)

Commitments and Contingencies

 

 

(a)

Legal – From time to time, the Company may be a party to various suits, claims and complaints arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should not result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company’s financial condition or results of operations.

 

 

(b)

Contingent Consideration – In conjunction with both the Contech Medical and DAS Medical acquisitions in the fourth quarter of 2021, the Company incurred liabilities for certain contingent consideration related to the valuation of earn-out payments based upon the performance of the business. Also in conjunction with the DAS Medical acquisition, the Company incurred a liability for contingent consideration related to the present value of non-competition payments. We re-measure contingent liabilities each reporting period and record changes in the fair value through a separate line item within our consolidated statements of operations. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount rates, periods, timing and amount of projected revenue or timing or likelihood of achieving regulatory, revenue or commercialization-based milestones. The use of alternative valuation assumptions, including estimated revenue projections, growth rates, cash flows, discount rates, useful life, or probability of achieving clinical, regulatory, or revenue-based milestones could result in different purchase price allocations and recognized amortization expense and contingent consideration expense or benefit in current and future periods.

 

 

(17)

Employee Benefit Plans

 

The Company maintains 401(k) and profit-sharing plans for eligible employees. Contributions to the Plans are made in the form of matching contributions to employee 401(k) deferrals, and until 2020, discretionary profit-sharing amounts determined by the Board of Directors to be funded by March 15 following each fiscal year. Contributions to the Plan were approxi‐mately $0.7 million, $0.6 million, and $0.9 million for the years 2022, 2021, and 2020, respectively.

 

The Company has a partially self-insured health insurance program that covers all eligible participating employees. The maximum liability is limited by a stop loss of $225 thousand per insured person, along with an aggregate stop loss determined by the number of participants.

 

The Company has an Executive, Non-qualified “Excess” Plan (“the Plan”), which is a deferred compen‐sa‐tion plan available to certain executives. The Plan permits participants to defer receipt of part of their current compensation to a later date as part of their personal retirement or financial planning. Partici‐pants have an unsecured contractual commitment from the Company to pay amounts due under the Plan.

 

The compensation withheld from Plan participants, together with gains or losses determined by the participants’ deferral elections is reflected as a deferred compensation obligation to participants and is classified within the liabilities section in the accompanying balance sheets. At December 31, 2022 and 2021, the balance of the deferred compensation liability totaled approximately $4.2 million and $4.3 million, respectively. The related assets, which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender values of the policies and totaled approximately $4.1 and $4.3 million as of December 31, 2022 and 2021, respectively.

 

F- 34

 
 

(18)

Fair Value of Financial Instruments

 

Financial instruments recorded at fair value in the consolidated balance sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs used to measure their fair value. Hierarchical levels defined by ASC 820, Fair Value Measurements and Disclosures, and directly related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:

 

Level 1

Valued based on unadjusted, quoted prices in active markets for identical assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.

 

Level 2

Valued based on either directly or indirectly observable prices for the asset or liability through correlation with market data at the measurement date and for the duration of the instrument’s anticipated life.

 

Level 3

Valued based on management’s best estimate of what market participants would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation technique and the risk inherent in the inputs to the model.

 

The following table presents the fair value and hierarchy levels, for financial assets that are measured at fair value on a recurring basis (in thousands):

 

Level 2

 

December 31, 2022

  

December 31, 2021

 

Liabilities:

        

Derivative financial instruments

 $-  $176 

Level 3

        

Purchase price contingent consideration (Note 2):

        

Accrued contingent consideration (earn-out)

 $14,568  $9,731 

Present value of non-competition payments

  10,043   9,477 

 

Derivative financial instruments consist of an interest rate swap for which fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that are observable at commonly quoted intervals for the full term of the swap agreement.

 

In connection with the acquisitions discussed in Note 2, “Acquisitions,” the Company is required to make contingent payments, subject to the entities achieving certain financial performance thresholds. The contingent consideration payments for both acquisitions combined are up to $25 million. The fair value of the liabilities for the contingent consideration payments recognized upon the acquisition as part of the purchase accounting opening balance sheets totaled approximately $9.7 million and was estimated by discounting to present value the probability-weighted contingent payments expected to be made. Assumptions used in this calculation were managements financial forecasts, discount rate and various probability factors. The ultimate settlement of contingent consideration could deviate from current estimates based on the actual results of these financial measures. This liability is considered to be a Level 3 financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.

 

F- 35

 

Also in connection with the DAS Medical acquisition, the Company has entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the ten years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners. The present value of the Non-Competition Agreements totaled approximately $8.9 million. This liability is considered to be a Level 3 financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.

 

The Company has financial instruments, such as accounts receivable, accounts payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the estimated borrowing rate currently available to the Company.

 

 

(19)

Segment Data

 

The Company consists of a single operating and reportable segment.

 

Revenues shipped to customers outside of the United States comprised approximately 16% of the Company’s consolidated revenues for the year ended December 31, 2022. One customer comprised approximately 21% of the Company’s consolidated revenues for the year ended December 31, 2022. No customer comprised more than 10% of the Company’s consolidated revenues for the years ended December 31, 2021 and 2020. One customer represented approximately 10% of gross accounts receivable for both years ended December 31, 2022 and 2021. Approximately 17% of all long-lived assets are located outside of the United States.

 

The Company’s custom products are primarily sold to customers within the Medical, Automotive, Consumer, Aerospace & Defense, Industrial, and Electronics markets. Sales by market for the years ended December 31, 2022, 2021, and 2020 as follows (in thousands):

 

  

2022

  

2021

  

2020

 

Market

 

Net Sales

  

%

  

Net Sales

  

%

  

Net Sales

  

%

 
                         

Medical

 $286,180   80.9% $132,505   64.2% $120,258   67.2%

Automotive

  17,487   4.9%  15,596   7.6%  14,607   8.1%

Consumer

  17,255   4.9%  26,048   12.6%  18,316   10.2%

Aerospace & Defense

  15,328   4.3%  16,380   7.9%  12,810   7.1%

Industrial

  10,322   2.9%  8,413   4.1%  7,622   4.2%

Electronics

  7,220   2.1%  7,378   3.6%  5,760   3.2%

Net Sales

 $353,792   100.0% $206,320   100.0% $179,373   100.0%

 

Certain amounts for the year ended December 31, 2021 were reclassified between markets to conform to the current year presentation.

 

 

(20)

Quarterly Financial Information (unaudited)

 

Summarized quarterly financial data is as follows (in thousands, except per share data):

 

2022

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $71,242  $94,343  $96,970  $91,237 

Gross profit

  17,134   24,324   25,523   23,279 

Net income

  4,858   8,929   19,540   8,462 

Basic net income per share

  0.64   1.18   2.58   1.12 

Diluted net income per share

  0.64   1.17   2.56   1.10 

 

F- 36

 

2021

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $48,599  $50,655  $50,723  $56,343 

Gross profit

  12,609   13,414   12,016   13,075 

Net income

  4,163   4,715   3,789   3,219 

Basic net income per share

  0.55   0.63   0.50   0.43 

Diluted net income per share

  0.55   0.62   0.50   0.42 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F-37

 

 

 

Schedule II

 

 

UFP TECHNOLOGIES, INC.

 

Consolidated Financial Statement Schedule

 

Valuation and Qualifying Accounts

 

Years ended December 31, 2022, 2021, and 2020

 

 

Accounts receivable, allowance for credit losses:

 

  

2022

  

2021

  

2020

 

Balance at beginning of year

 $519  $484  $486 

Provision for bad debt

  293   179   13 

Write-offs, net of recoveries

  (40)  (144)  (15)

Sale of Molded Fiber business

  (39)  -   - 

Balance at end of year

 $733  $519  $484 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F-38
EX-10.31 2 ex_487610.htm EXHIBIT 10.31 HTML Editor

Exhibit 10.31

 

Exhibit E

 

STOCK UNIT AWARD AGREEMENT

(with Ireland Supplement)

 

(Granted under the UFP Technologies, Inc. 2003 Incentive Plan)

 

This Stock Unit Award Agreement is entered into as of the 14th day of February, 2023 by and between UFP Technologies, Inc. (hereinafter the “Company”) and _______________ (the “Awardee”).  Capitalized terms used but not defined herein shall have the meanings assigned to them in the Company’s 2003 Incentive Plan, as amended (the “Plan”).  Stock Unit Awards (SUA’s represent the Company’s unfunded and unsecured promise to issue shares of Common Stock at a future date, subject to the terms of this Award Agreement, including, without limitation, the performance objectives set forth in Schedule A hereto, and the Plan.  Awardee has no rights under the SUAs other than the rights of a general unsecured creditor of the Company.

 

1.          Grant of Stock Unit Awards; Performance Objectives; Vesting.  

 

(a)        The Company, in the exercise of its sole discretion pursuant to the Plan, does hereby award to the Awardee the number of SUAs set forth on Schedule A hereto upon the terms and subject to the conditions hereinafter contained.  The SUA’s shall consist of a Threshold Award, a Target Award and an Exceptional Award.  The Target Award and the Exceptional Award are each awarded subject to attainment during the Performance Cycle described on Schedule A of the Performance Objectives set forth on Schedule A .  

 

(b)        Subject to attainment of any applicable Performance Objectives, payment with respect to vested SUA’s shall be made entirely in the form of shares of Common Stock of the Company on each respective vesting date as set forth on Schedule A.

 

(c)        As soon as possible after the end of the Performance Cycle, the Committee will certify in writing whether and to what extent the Performance Objectives have been met for the Performance Cycle.  The date of the Committee’s certification pursuant to this subsection (c) shall hereinafter be referred to as the “Certification Date”.  The Company will notify the Awardee of the Committee’s certification following the Certification Date (such notice, the “Determination Notice”).  The Determination Notice shall specify (i) the Performance Objective, as derived from the Company’s audited financial statements; and (ii) the extent, if any, to which the Performance Objectives were satisfied with respect to the Target Award and the Exceptional Award. 

 

2.          Change in Control.      Notwithstanding the vesting schedule set forth in Schedule A: if there is a Change in Control of the Company (as defined in the Plan) following the end of the Performance Cycle, and the Awardee’s Continuous Status as an employee, as contemplated by Section 4 hereof, shall not have been terminated as of the date immediately prior to the effective date of such Change in Control, then subject to attainment during the Performance Cycle described on Schedule A of any applicable Performance Objective set forth on Schedule A, and subject to the provisions of Section 21 of this Award Agreement, any SUA’s representing the Threshold, Target and the Exceptional Award, which are not already vested shall become vested in full as of the effective date of such Change in Control.

 

 

 

3.          Termination.   Unless terminated earlier under Section 4, 5 or 6 below, an Awardee’s rights under this Award Agreement with respect to the SUAs issued under this Award Agreement shall terminate at the time such SUAs are converted into shares of Common Stock.

 

4.          Termination of Awardees Continuous Status as an Employee.   Except as otherwise specified in Section 5 and 6 below, in the event of termination of Awardee’s Continuous Status as an employee of the Company, Awardee’s rights under this Award Agreement in any unvested SUAs shall terminate.  For purposes of this Award Agreement, an Awardee’s Continuous Status as an employee shall mean the absence of any interruption or termination of service as an employee.  Continuous Status as an employee shall not be considered interrupted in the case of sick leave or leave of absence for which Continuous Status is not considered interrupted as determined by the Company in its sole discretion.

 

 

5.          Disability of Awardee.   Notwithstanding the provisions of Section 4 above, in the event of termination of Awardee’s Continuous Status as an employee as a result of disability (within the meaning of Section 409A of the Internal Revenue Code, and hereinafter referred to as “Disability”), the SUAs which would have vested during the twelve (12) months following the date of such termination, set out in Schedule A, shall become vested as of the date of such termination, subject, however, to the provisions of Section 21 of this Award Agreement.  If Awardee’s Disability originally required him or her to take a short-term disability leave which was later converted into long-term disability, then for the purposes of the preceding sentence the date on which Awardee ceased performing services shall be deemed to be the date of commencement of the short-term disability leave.  The Awardee’s rights in any unvested SUAs that remain unvested after the application of this Section 5 shall terminate at the time Awardee ceases to be in Continuous Status as an employee.

 

6.          Death of Awardee.   Notwithstanding the provisions of Section 4 above, in the event of the death of Awardee:

 

(a)        If the Awardee was, at the time of death, in Continuous Status as an employee, the SUAs which would have vested during the twelve (12) months following the date of death of Awardee, set out in Schedule A, shall become vested as of the date of death.

 

(b)       The Awardee’s rights in any unvested SUAs that remain after the application of Section 6(a) shall terminate at the time of the Awardee’s death.

 

7.          Value of Unvested SUAs.   In consideration of the award of these SUAs, Awardee agrees that upon and following termination of Awardee’s Continuous Status as an employee for any reason (whether or not in breach of applicable laws), and regardless of whether Awardee is terminated with or without cause, notice, or pre-termination procedure or whether Awardee asserts or prevails on a claim that Awardee’s employment was terminable only for cause or only with notice or pre-termination procedure, any unvested SUAs under this Award Agreement shall be deemed to have a value of zero dollars ($0.00).

 

2

 

8.           Conversion of SUAs to shares of Common Stock; Responsibility for Taxes.  

 

(a)        Provided Awardee has satisfied the requirements of Section 8(b) below, and subject to the provisions of Section 21 below, on the vesting of any SUAs, such vested SUAs shall be converted into an equivalent number of shares of Common Stock that will be distributed to Awardee or, in the event of Awardee’s death, to Awardee’s legal representative, as soon as practicable.  The distribution to the Awardee, or in the case of the Awardee’s death, to the Awardee’s legal representative, of shares of Common Stock in respect of the vested SUAs shall be evidenced by a stock certificate, appropriate entry on the books of the Company or of a duly authorized transfer agent of the Company, or other appropriate means as determined by the Company. 

 

(b)        Regardless of any action the Company takes with respect to any or all income tax (including federal, state and local taxes), social security, payroll tax or other tax-related withholding (“Tax Related Items”), Awardee acknowledges that the ultimate liability for all Tax Related Items legally due by Awardee is and remains Awardee’s responsibility and that the Company (i) makes no representations or undertakings regarding the treatment of any Tax Related Items in connection with any aspect of the SUAs, including the grant of the SUAs, the vesting of SUAs, the conversion of the SUAs into shares of Common Stock, the subsequent sale of any shares of Common Stock acquired at vesting and the receipt of any dividends; and (ii) does not commit to structure the terms of the grant or any aspect of the SUAs to reduce or eliminate the Awardee’s liability for Tax Related Items. Prior to the issuance of shares of Common Stock upon vesting of SUAs as provided in Section 8(a) above, Awardee shall pay, or make adequate arrangements satisfactory to the Company, in its sole discretion, to satisfy all withholding obligations of the Company.  In this regard, Awardee authorizes the Company to withhold all applicable Tax Related Items legally payable by Awardee from Awardee’s wages or other cash compensation payable to Awardee by the Company.  Alternatively, or in addition, if permissible under applicable law, the Company may, in its sole discretion, (i) sell or arrange for the sale of shares of Common Stock to be issued to satisfy the withholding obligation, and/or (ii) withhold in shares of Common Stock, provided that the Company shall withhold only the amount of shares necessary to satisfy the minimum withholding amount.  Awardee shall pay to the Company any amount of Tax Related Items that the Company may be required to withhold as a result of Awardee’s receipt of SUAs, or the conversion of SUAs to shares of Common Stock that cannot be satisfied by the means previously described.  Except where applicable legal or regulatory provisions prohibit, the standard process for the payment of an Awardee’s Tax Related Items shall be for the Company to withhold in shares of Common Stock only to the amount of shares necessary to satisfy the minimum withholding amount. The Company may refuse to deliver shares of Common Stock to Awardee if Awardee fails to comply with Awardee’s obligation in connection with the Tax Related Items as described herein.

 

(c)        In lieu of issuing fractional shares of Common Stock, on the vesting of a fraction of a SUA, the Company shall round the shares to the nearest whole share and any such share which represents a fraction of a SUA will be included in a subsequent vest date.

 

3

 

(d)       Until the distribution to Awardee of the shares of Common Stock in respect to the vested SUAs is evidenced by a stock certificate, appropriate entry on the books of the Company or of a duly authorized transfer agent of the Company, or other appropriate means, Awardee shall have no right to vote or receive dividends or any other rights as a shareholder with respect to such shares of Common Stock, notwithstanding the vesting of SUAs.  Subject to the provisions of Section 21 below, the Company shall cause such distribution to Awardee to occur promptly upon the vesting of SUAs.  No adjustment will be made for a dividend or other right for which the record date is prior to the date Awardee is recorded as the owner of the shares of Common Stock, except as provided in Section 8 of the Plan.

 

(e)        By accepting the Award of SUAs evidenced by this Award Agreement, Awardee agrees not to sell any of the shares of Common Stock received on account of vested SUAs at a time when applicable laws or Company policies prohibit a sale.  This restriction shall apply so long as Awardee is an Employee, Consultant or outside director of the Company or a Subsidiary of the Company.

 

(f)        Adjustments and other matters relating to stock dividends, stock splits, recapitalizations, reorganizations, Corporate Events and the like shall be made and determined in accordance with Section 6 of the Plan, as in effect on the date of this Agreement.

 

9.          Non-Transferability of SUAs.   Awardee’s right in the SUAs awarded under this Award Agreement and any interest therein may not be sold, pledged, assigned, hypothecated, transferred, or disposed of in any manner, other than by will or by the laws of descent or distribution, prior to the distribution of the shares of Common Stock in respect of such SUAs.  SUAs shall not be subject to execution, attachment or other process.

 

10.        Acknowledgment of Nature of Plan and SUAs.   In accepting the Award, Awardee acknowledges that:

 

(a)        the Plan is established voluntarily by the Company, it is discretionary in nature and may be modified, amended, suspended or terminated by the Company at any time, as provided in the Plan;

 

(b)        the Award of SUAs is voluntary and occasional and does not create any contractual or other right to receive future awards of SUAs, or benefits in lieu of SUAs even if SUAs have been awarded repeatedly in the past;

 

(c)        all decisions with respect to future awards, if any, will be at the sole discretion of the Company;

 

(d)        Awardee’s participation in the Plan is voluntary;

 

(e)        the future value of the underlying shares of Common Stock is unknown and cannot be predicted with certainty;

 

4

 

(f)         if Awardee receives shares of Common Stock, the value of such shares of Common Stock acquired on vesting of SUAs may increase or decrease in value;

 

(g)        notwithstanding any terms or conditions of the Plan to the contrary and consistent with Section 4 and Section 7 above, in the event of involuntary termination of Awardee’s employment (whether or not in breach of applicable laws), Awardee’s right to receive SUAs and vest under the Plan, if any, will terminate effective as of the date that Awardee is no longer actively employed and will not be extended by any notice period mandated under applicable law; furthermore, in the event of involuntary termination of employment (whether or not in breach of applicable laws), Awardee’s right to receive shares of Common Stock pursuant to the SUAs after termination of employment, if any, will be measured by the date of termination of Awardee’s active employment and will not be extended by any notice period mandated under applicable law.  The Committee shall have the exclusive discretion to determine when Awardee is no longer actively employed for purposes of the award of SUAs; and

 

(h)        Awardee acknowledges and agrees that, regardless of whether Awardee is terminated with or without cause, notice or pre-termination procedure or whether Awardee asserts or prevails on a claim that Awardee’s employment was terminable only for cause or only with notice or pre-termination procedure, Awardee has no right to, and will not bring any legal claim or action for, (a) any damages for any portion of the SUAs that have been vested and converted into Common Shares, or (b) termination of any unvested SUAs under this Award Agreement.

 

11.         No Employment Right.   Awardee acknowledges that neither the fact of this Award of SUAs nor any provision of this Award Agreement or the Plan or the policies adopted pursuant to the Plan shall confer upon Awardee any right with respect to employment or continuation of current employment with the Company, or to employment that is not terminable at will.  Awardee further acknowledges and agrees that neither the Plan nor this Award of SUAs makes Awardee’s employment with the Company for any minimum or fixed period, and that such employment is subject to the mutual consent of Awardee and the Company, and subject to any written employment agreement that may be in effect from time to time between the Company and the Awardee, may be terminated by either Awardee or the Company at any time, for any reason or no reason, with or without cause or notice or any kind of pre- or post-termination warning, discipline or procedure.

 

12.         Administration.   The authority to manage and control the operation and administration of this Award Agreement shall be vested in the Committee (as such term is defined in Section 2 of the Plan), and the Committee shall have all powers and discretion with respect to this Award Agreement as it has with respect to the Plan.  Any interpretation of the Award Agreement by the Committee and any decision made by the Committee with respect to the Award Agreement shall be final and binding on all parties.

 

13.         Plan Governs.   Notwithstanding anything in this Award Agreement to the contrary, the terms of this Award Agreement shall be subject to the terms of the Plan, and this Award Agreement is subject to all interpretations, amendments, rules and regulations promulgated by the Committee from time to time pursuant to the Plan.

 

5

 

14.         Notices.   Any written notices provided for in this Award Agreement which are sent by mail shall be deemed received three business days after mailing, but not later than the date of actual receipt.  Notices shall be directed, if to Awardee, at the Awardee’s address indicated by the Company’s records and, if to the Company, at the Company’s principal executive office.

 

15.         Electronic Delivery.   The Company may, in its sole discretion, decide to deliver any documents related to SUAs awarded under the Plan or future SUAs that may be awarded under the Plan by electronic means or request Awardee’s consent to participate in the Plan by electronic means.  Awardee hereby consents to receive such documents by electronic delivery and agrees to participate in the Plan through an on-line or electronic system established and maintained by the Company or another third party designated by the Company.

 

16.         Acknowledgment.   By Awardee’s acceptance as evidenced below, Awardee acknowledges that Awardee has received and has read, understood and accepted all the terms, conditions and restrictions of this Award Agreement and the Plan.  Awardee understands and agrees that this Award Agreement is subject to all the terms, conditions, and restrictions stated in this Award Agreement and the Plan, as the latter may be amended from time to time in the Company’s sole discretion. In addition, the Awardee acknowledges that the Award and rights granted to the Awardee hereunder shall be subject to forfeiture to the Company in accordance with any policy that may hereafter be promulgated by the Company to comply with the requirements of Section 10D(b)(2) of the Securities Exchange Act of 1934, as amended.    

 

17.         [Intentionally Omitted] 

 

18.         Governing Law.   This Award Agreement shall be governed by the laws of the State of Delaware, without regard to Delaware laws that might cause other law to govern under applicable principles of conflicts of law.

 

19.         Severability.   If one or more of the provisions of this Award Agreement shall be held invalid, illegal or unenforceable in any respect, the validity, legality and enforceability of the remaining provisions shall not in any way be affected or impaired thereby and the invalid, illegal or unenforceable provisions shall be deemed null and void; however, to the extent permissible by law, any provisions which could be deemed null and void shall first be construed, interpreted or revised retroactively to permit this Award Agreement to be construed so as to foster the intent of this Award Agreement and the Plan.

 

20.         Complete Award Agreement and Amendment.   This Award Agreement and the Plan constitute the entire agreement between Awardee and the Company regarding SUAs.  Any prior agreements, commitments or negotiations concerning these SUAs are superseded.  This Award Agreement may be amended only by written agreement of Awardee and the Company, without consent of any other person.  Awardee agrees not to rely on any oral information regarding this Award of SUAs or any written materials not identified in this Section 20.

 

6

 

21.         Section 409A.  This Award Agreement is intended to be in compliance with the provisions of Section 409A of the Internal Revenue Code to the extent applicable, and the Regulations issued thereunder. Anything in this Agreement to the contrary notwithstanding, if at the time of the Awardee’s separation from service within the meaning of Section 409A of the Internal Revenue Code of 1986, as amended, and the regulations thereunder (the “Code”), the Company determines that the Awardee is a “specified employee” within the meaning of Section 409A(a)(2)(B)(i) of the Code, then to the extent any payment or benefit that the Awardee becomes entitled to under this Agreement would be considered deferred compensation subject to the 20 percent additional tax imposed pursuant to Section 409A(a) of the Code as a result of the application of Section 409A(a)(2)(B)(i) of the Code, such payment shall not be payable and such benefit shall not be provided until the date that is the earlier of (A) six months and one day after the Awardee’s separation from service, or (B) the Awardee’s death.  The determination of whether and when a separation from service has occurred shall be made in accordance with the presumptions set forth in Treasury Regulation Section 1.409A-1(h). To the extent that any provision of this Agreement is ambiguous as to its compliance with Section 409A of the Code, the provision shall be read in such a manner so that all payments hereunder comply with Section 409A of the Code.  The parties agree that this Agreement may be amended, as reasonably requested by either party, and as may be necessary to fully comply with Section 409A of the Code and all related rules and regulations in order to preserve the payments and benefits provided hereunder without additional cost to either party. Solely for the purposes of Section 409A of the Code, the share increments issuable on each vesting date on Schedule A shall be considered a separate payment.  The Company makes no representation or warranty and shall have no liability to the Awardee or any other person if any provisions of this Agreement are determined to constitute deferred compensation subject to Section 409A of the Code but do not satisfy an exemption from, or the conditions of, such Section.

 

22.         Ireland Supplement.  If the Awardee is an employee located in Ireland then in addition to the terms and conditions set forth above, the provisions of the Ireland Supplement attached hereto shall also apply.

 

 

 

 

 

 

 

 

7

 

EXECUTED the day and year first above written.

 

  UFP TECHNOLOGIES, INC.
   
   
   
  By:                                                     
        R. Jeffrey Bailly
        Chief Executive Officer

 

 

 

AWARDEE’S ACCEPTANCE:

I have read and fully understood this Award Agreement and, as referenced in Section 16 above, I accept and agree to be bound by all of the terms, conditions and restrictions contained in this Award Agreement and the other documents referenced in it.

 

 

                                                                                                                     

 

 

 

 

 

 

8

 

SCHEDULE A

 

The SUA’s issuable under this Agreement shall consist of a Threshold Award, a Target Performance Award and an Exceptional Performance Award, each in the amounts set forth below, each such award issuable in one-third increments on the vesting dates set forth below, provided the respective performance objective (if applicable) is satisfied.

 

The Performance Objective established by the Committee with respect to the Target Performance Award and Exceptional Performance Award is Adjusted Operating Income** for 2023

 

 

Performance Objective

Performance Cycle

Number of Shares of Common Stock

Vesting Dates: March 1 of:

       

 */2024

 

 [1/3]

 */2025

 

 [1/3]

 */2026

 

 [1/3]

 

a. Threshold

Award

[50% of total]

 

 none

 

 n/a

 

 _____

 

 ___

 

 ___

 

 ___

 

b.  Target

Performance

Award

[25% of total]

 

 of Adjusted Operating Income**

 

 Calendar Year

 2023

 

 ___

 (in addition to (a) above)

 

 ___

 

 ___

 

 ___

 

c. Exceptional

Performance

Award

[25% of total]

 

 

 of Adjusted Operating Income**

 

 Calendar Year

 2023

 

 ___

 ***

 (in addition to (a) and (b) above)

 

 ___

 

 ___

 

 ___

 

*Vesting is subject to the Compensation Committee’s determination of satisfaction of any applicable performance target for 2023 (for Target and Exceptional Performance Awards), and subject to continued employment on each such vesting date (for all Awards).

 

**   Adjusted Operating Income is defined herein as Operating Income on the Company’s 10-K, excluding the effect of (i) non-recurring restructuring charges related to plant closings and consolidations; and (ii) the impact of acquired or disposed of operations during such year. 

 

*** Between Adjusted Operating Income  of $XXX and $XXX  the number of shares of Common Stock issuable under the Exceptional  Performance Award (in addition to the shares issuable upon attainment of the Target Performance Award) would range from 0, representing the number of shares issuable upon attainment of $XXX of Adjusted Operating Income, to the full number of shares otherwise issuable under the Exceptional award, based on straight line interpolation rounded up or down to the nearest whole share (not to exceed $XXX of Adjusted Operating Income for purposes of this calculation).

 

9

 

UFP TECHNOLOGIES, INC.

 

STOCK UNIT AWARD

 

IRELAND SUPPLEMENT

 

This supplement to the Stock Unit Award Agreement applies to any Participant who is resident or employed in Ireland (an “Ireland Participant”) at the time of grant of an Award.

 

An Award made to an Ireland Participant shall be subject to the following supplementary terms and conditions and, in the event of any conflict between any term, condition or other provision contained in the Plan or in an Award agreement for an Ireland Participant and any supplementary term or condition provided for in this supplement, the supplementary term or condition in this supplement shall govern and prevail.  All capitalised terms used herein but not otherwise defined shall have the respective meanings set forth in the Plan.

 

 

1.

Relationship of Plan to Contract of Employment.  Notwithstanding any other provision of the Plan or an Award agreement:

 

 

(a)

the Plan and any Award agreement shall not form part of any contract of employment between the Company or a Subsidiary and an Ireland Participant;

 

 

(b)

unless expressly so provided in his or her contract of employment, an Ireland Participant has no right or entitlement to an Award or any expectation that an Award might be made to him or her, whether subject to any conditions or at all;

 

 

(c)

the benefit to an Ireland Participant of participation in the Plan (including, in particular but not by way of limitation, of any Award made to him or her) shall not form any part of his or her remuneration or count as his or her remuneration for any purpose and shall not be pensionable;

 

 

(d)

the rights or opportunity granted to an Ireland Participant on the grant of an Award shall not give the Ireland Participant any rights or additional rights and if an Ireland Participant ceases to be employed by the Company or a Subsidiary, he or she shall not be entitled to compensation for the loss of any right or benefit or prospective right or benefit under the Plan (including, in particular but not by way of limitation, any Award held by him or her which lapses by reason of his or her ceasing to be employed by the the Company or a Subsidiary) whether by way of damages for unfair dismissal, wrongful dismissal, breach of contract or otherwise;

 

 

(e)

the rights or opportunity granted to an Ireland Participant on the making of an Award shall not give the Ireland Participant any rights or additional rights in respect of any pension scheme operated by the Company or a Subsidiary; and

 

 

(f)

an Ireland Participant shall not be entitled to any compensation or damages for any loss or potential loss which he or she may suffer by reason of being unable to acquire or retain Stock or any interest in Stock (or any equivalent or connected interest) pursuant to an Award in consequence of the loss or termination of his or her employment with the Company or a Subsidiary for any reason whatsoever (whether or not the termination is ultimately held to be wrongful or unfair).

 

10

 

 

2.

Taxation.  An Ireland Participant shall be responsible for and shall indemnify the Company and its Subsidiaries against, any tax, universal social charge or employee social security liability relating to the grant and subsequent vesting or exercise of an Award and the release or disposal of any resulting Stock.  The tax withholding provisions in Section 7(e) of the Plan shall, where applicable, apply as if each reference to taxes included reference to universal social charge and employee pay related social insurance.

     
 

3.

Provision of Information.

 

 

(a)

An Ireland Participant shall provide to the Company and its Subsidiaries as soon as reasonably practicable such information as the Company or its Subsidiary reasonably requests for the purpose of complying with its share scheme reporting obligations (if any) under the Taxes Consolidation Act 1997 (as amended) of Ireland and current requirements of the Revenue Commissioners of Ireland.

 

 

(b)

An Ireland Participant who is a director or shadow director or secretary of any Subsidiary that is incorporated in Ireland (an “Ireland Subsidiary”) shall notify the Ireland Subsidiary in writing within five business days of such Ireland Participant receiving or disposing of a “disclosable interest” (within the meaning of and for the purposes of Chapter 5 of Part 5 of the Companies Act 2014 of Ireland) in the Company, or within five business days of such Ireland Participant becoming aware of the event giving rise to the notification requirement, or within five business days of such Ireland Participant becoming a director or shadow director or secretary if such a “disclosable interest” exists at the time.

 

 

4.

Personal Data.  By accepting the grant of an Award, an Ireland Participant acknowledges, in respect of the processing and disclosure of the Ireland Participant’s personal data, that:

 

 

(a)

the Company or its Subsidiary is required to collect, process and utilise the Ireland Participant’s personal data for purposes directly relevant to the employment relationship between the Company or its Subsidiary and the Ireland Participant, and, for the purpose of administering the Plan, to disclose or transfer some or all of that personal data, as necessary, between the Company or its Subsidiaries or to any third party engaged by the Company or its Subsidiary to assist with the administration of the Plan;

     
 

(b)

the Company or its Subsidiary and any such third party may utilise such personal data for the purpose of administering the Plan and the Ireland Participant’s Award, provided that such personal data shall be kept confidential and shall not be used by the third party for any purposes not related to the administration of the Plan;

     
 

(c)

a Subsidiary and any such third party may be located in the European Economic Area (the “EEA”) or outside of the EEA and the personal data may be transferred within the EEA or outside of the EEA for the purpose of administering the Plan (in which case the transfer shall be governed by “model contract clauses” or equivalent measures required under the European Union’s data protection laws);

 

11

 

     
 

(d)

the Ireland Participant’s personal data may be processed and disclosed by and to any future purchaser of the Company (or of a Subsidiary thereof that has the employment relationship with the Ireland Participant or of their respective undertakings or any parts thereof) for the purpose of administering the Plan and/or confirming the Ireland Participant’s entitlement to an Award where such entitlement is relevant to such purchase;

     
 

(e)

the purposes described in this paragraph 4 for the processing of the Ireland Participant’s personal data are necessary for the administration of the Plan or are otherwise necessary for the legitimate interests of the Company or its Subsidiary in connection with the administration of the Plan; and

     
 

(f)

should the Ireland Participant exercise certain data subject rights in relation to the Ireland Participant’s personal data, such as the right of objection or erasure, the Ireland Participant acknowledges that it may no longer be possible to administer the Plan or the Ireland Participant’s Award pursuant to the Plan and any Award agreement and, in that case, the Award shall lapse and the Ireland Participant shall be deemed to have waived (without any right to compensation) any right to the Award.

 

 

5.

Securities Law.  Where an Award offered under the Plan is deemed to be an offer of securities to the public in Ireland, Article 1(4)(i) of Regulation (EU) 2017/1129 of the European Parliament and of the Council of 14 June 2017 (the “Prospectus Regulation”) provides, among others, an exemption (the “Exemption”) from the obligation to publish a prospectus if the securities are offered to existing or former directors or employees by their employer or by an affiliated undertaking provided that a document is made available containing information on the number and nature of the securities and the reasons for and details of the offer.  Accordingly, in reliance on the Exemption, no prospectus has been prepared or filed with any competent regulatory authority in the EEA in relation to offers made to existing or former directors or employees by the Company or its Subsidiaries pursuant to the Plan, and no such prospectus has been approved and/or published in the EEA.  The Plan, this supplement and the Award agreement contains the information that must be made available in order to avail of the Exemption, namely information on the number and nature of the securities and the reasons for and details of the offer.

 

12
EX-10.32 3 ex_487611.htm EXHIBIT 10.32 HTML Editor

Exhibit 10.32

 

UFP TECHNOLOGIES, INC.

 

2003 INCENTIVE PLAN

As Amended and Restated on March 14, 2023

 

1.       Statement of Purpose. The purpose of this 2003 Incentive Plan (hereinafter referred to as the “Plan”) is to benefit UFP TECHNOLOGIES, INC. (the “Company”) through the maintenance and development of its businesses by offering equity-based and other incentives to certain present and future executives and other employees who are in a position to contribute to the long-term success and growth of the Company, thereby encouraging the continuance of their involvement with the Company and/or its subsidiaries.

 

2.       Administration of the Plan.

 

(a)     Board or Committee Administration. Except as otherwise provided in subsection 2(d) below, the Plan   shall be administered by the Compensation Committee of the Company's Board of Directors (the “Board”) or such other committee thereof consisting of such members (not less than two) of the Board as are appointed from time to time by the Board (the “Compensation Committee”), each of the members of which, at the time of any action under the Plan, shall be (i) a “non-employee director” as then defined under Rule 16b-3 under the Act (or meeting comparable requirements of any successor rule relating to exemption from Section 16(b) of the Act) and (ii) an “independent director” as then defined under the rules of the Nasdaq Stock Market (or meeting comparable requirements of any stock exchange on which the Company's Common Stock, $.01 par value (the “Common Stock”) may then be listed). Hereinafter, all references in this Plan to the “Committee” shall mean the Board if no Committee has been appointed. The Committee shall have all necessary powers to administer and interpret the Plan. Such powers of the Compensation Committee include exclusive authority (within the limitations described and except as otherwise provided in the Plan) to select the employees or determine classes of employees to be granted Awards under the Plan, to determine the aggregate amount, type, size, and terms of the Awards to be made to eligible employees, and to determine the time when Awards will be granted. The Compensation Committee may take into consideration recommendations from the appropriate officers of the Company with respect to making the foregoing determinations as to Plan Awards, administration, and interpretation. The Committee shall have full power and authority to adopt such rules, regulations, agreements and instruments for the administration of the Plan and for the conduct of its business as the Committee deems necessary or advisable. The Committee's interpretations of the Plan and all action taken and determinations made by the Committee pursuant to the powers vested in it hereunder shall be conclusive and binding on all parties concerned, including the Company, its shareholders and any director or employee of the Company or any Subsidiary.

 

(b)      Committee Actions. The Committee may select one of its members as its chairman and shall hold meetings at such time and places as it may determine. A majority of the Committee shall constitute a quorum and acts of a majority of the members of the Committee at a meeting at which a quorum is present, or acts reduced to or approved in writing by all the members of the Committee (if consistent with applicable state law), shall be the valid acts of the Committee. From time to time the Board may increase the size of the Committee and appoint additional members thereof, remove members (with or without cause) and appoint new members in substitution therefor, fill vacancies however caused, or remove all members of the Committee and thereafter directly administer the Plan.

 

 

 

(c)      Section 409A. The Committee shall take into account compliance with Section 409A of the Internal Revenue Code in connection with any grant of an Award under the Plan, to the extent applicable.

 

(d)     Delegation by the Board to a Designated Officer.  To the extent permitted by law, the Board may delegate to the Chief Executive Officer of the Company or one or more other officers of the Company (each herein a “Designated Officer”) the duties or powers it may deem advisable to assist the Committee in the administration and operation of the Plan and may grant to the Designated Officer authority to enter into 1 or more transactions to grant equity-based Awards and with respect to such transactions, such Awards may be issued in such numbers, at such times and for such consideration as the Designated Officer may determine; provided that the resolution fixes (i) the maximum number of rights or options subject to the equity-based Awards, and the maximum number of shares issuable upon exercise thereof, that may be issued pursuant to such resolution, (ii) a time period during which such equity-based Awards and during which the shares issuable upon exercise thereof, may be issued, and (iii) a minimum amount of consideration (if any) for which such rights or options subject to such equity-based Awards may be issued and a minimum amount of consideration for the shares issuable upon exercise thereof and provided further, however, (i) the Committee shall not delegate such responsibilities to the Designated Officer for Awards granted to the Designated Officer or any employee who is considered an officer (as defined in Rule 16a-1(f)) of the Exchange Act.  The Designated Officer(s) shall report periodically to the Committee regarding the nature and scope of the Awards granted pursuant to the authority delegated.  To the extent authority under the Plan is delegated to the Designated Officer, references in the other provisions of this Plan to the Committee shall instead mean to the Designated Officer. 

 

 

3.       Eligibility. Participation in the Plan shall be limited to executives or other employees (including officers and directors who are also employees) of the Company and its Subsidiaries selected on the basis of such criteria as the Committee may determine. Employees who participate in other incentive or benefit plans of the Company or any Subsidiary may also participate in this Plan. As used herein, the term “employee” shall mean any person employed full time or part time by the Company or a Subsidiary on a salaried basis, and the term “employment” shall mean full-time or part-time salaried employment by the Company or a Subsidiary.

 

4.       Rules Applicable to Awards.

 

(a) All Awards.

 

(i)         Awards. Awards may be granted in the form of any or a combination of the following: Stock Options; SARs; Restricted Stock; Unrestricted Stock; Stock Unit Awards, other Stock Based Awards; Cash Performance Awards; other Performance Awards; or grants of cash, or loans, made in connection with other Awards in order to help defray in whole or in part the economic cost (including tax cost) of the Award to the Participant.

 

2

 

(ii)          Terms of Awards. The Committee shall determine the terms of all Awards subject to the limitations provided herein.

 

(iii)       Performance Criteria. Where rights under an Award depend in whole or in part on satisfaction of Performance Criteria, actions by the Company that have an effect, however material, on such Performance Criteria or on the likelihood that they will be satisfied will not be deemed an amendment or alteration of the Award.

 

(iv)        Vesting, Etc. Without limiting the generality of Section 4(a)(ii), the Committee may determine the time or times at which an Award will vest (i.e., become free of forfeiture restrictions) or become exercisable and the terms on which an Award requiring exercise will remain exercisable.

 

(b) Awards Requiring Exercise.

 

(i) Time and Manner of Exercise. Unless the Committee expressly provides otherwise, (A) an Award requiring exercise by the holder will not be deemed to have been exercised until the Committee receives a written notice of exercise (in form acceptable to the Committee) signed by the appropriate person and accompanied by any payment required under the Award; and (B) if the Award is exercised by any person other than the Participant, the Committee may require satisfactory evidence that the person exercising the Award has the right to do so.

 

(ii) Exercise Price. The Committee shall determine the exercise price of each Stock Option or SAR; provided, however, that each Stock Option or SAR must have an exercise price that is not less than the fair market value of the Stock subject to the Stock Option, determined as of the date of grant. Except as provided in Section 6, in no event may any Stock Option or SAR previously granted under the Plan (i) be amended to decrease the exercise price or strike price thereof, as the case may be, (ii) be cancelled in conjunction with the grant of any new Stock Option or SAR with a lower exercise price or strike price, as the case may be, (iii) be amended to provide for a cash buyout of the Stock Option or SAR if such Stock Option or SAR is not “in the money,” (iv) be subject to a voluntary surrender and subsequent grant of “in the money” Stock Option or SAR (v) otherwise be subject to any action that would be treated under the NASDAQ rules as a “repricing” of such Stock Option or SAR unless such amendment, cancellation or action is approved by the Company’s shareholders.

 

(iii) Payment of Exercise Price, If Any. Where the exercise of an Award is to be accompanied by payment, the Committee may determine the required or permitted forms of payment.

 

(c) Awards Not Requiring Exercise.

 

3

 

(i). Restricted Stock. Restricted Stock awards shall be evidenced by a written agreement in the form prescribed by the Committee in its discretion, which shall set forth the number of shares of Common Stock awarded, the restrictions imposed thereon (which may include, without limitation, restrictions on the right of the grantee to sell, assign, transfer or encumber shares while such shares are subject to other restrictions imposed under this Section 4), the duration of such restrictions; the events (which may, in the discretion of the Committee, include performance-based events or objectives) the occurrence of which would cause a forfeiture of the Restricted Stock in whole or in part; and such other terms and conditions as the Committee in its discretion deems appropriate. If so determined by the Committee at the time of an award of Restricted Stock, the lapse of restrictions on Restricted Stock may be based on the extent of achievement over a specified performance period of one or more performance targets based on performance criteria established by the Committee. Restricted Stock awards shall be effective upon execution of the applicable Restricted Stock agreement by the Company and the Participant. Following a Restricted Stock award and prior to the lapse or termination of the applicable restrictions, the share certificates for such Restricted Stock shall be held in escrow by the Company. Upon the lapse or termination of the applicable restrictions (and not before such time), the certificates for the Restricted Stock shall be issued or delivered to the Participant. From the date a Restricted Stock award is effective, the Participant shall be a shareholder with respect to all the shares represented by such certificates and shall have all the rights of a shareholder with respect to all such shares, including the right to vote such shares and to receive all dividends and other distributions paid with respect to such shares, subject only to the restrictions imposed by the Committee.

 

(ii). Stock Unit Awards. Stock Unit Awards shall be evidenced by a written agreement in the form prescribed by the Committee in its discretion, which shall set forth the number of shares of Common Stock to be awarded pursuant to the Award, the restrictions imposed thereon (which may include, without limitation: restrictions on the right of the grantee to sell, assign, transfer or encumber the Award prior to vesting, and, in the discretion of the Committee, certain continued service requirements and terms under which the vesting of such Awards might be accelerated) and such other terms and conditions as the Committee in its discretion deems appropriate. If so determined by the Committee at the time of the grant of a Stock Unit Award, vesting of the Award may be contingent on achievement over a specified performance period of one or more performance targets based on performance criteria established by the Committee. Stock Unit Awards shall be effective upon execution of the applicable Stock Unit Award Agreement by the Company and the Participant. Upon a determination of satisfaction of the applicable performance-related conditions and satisfaction of the applicable continued service requirements, (and not before such time), shares of Stock shall be issued to the Participant pursuant to the Award. The Participant shall not have any rights of a shareholder of the Company with respect to such shares prior to such issuance.

 

(iii)        Unrestricted Stock and Other Stock-Based Awards. The Committee shall have the authority in its discretion to grant to eligible Participants Unrestricted Stock and other Stock-Based Awards. The Committee shall determine the terms and conditions, if any, of any Other Stock Based Awards made under the Plan.

 

(iv)       Non Stock Based Awards. The Committee shall have the authority in its discretion to grant to eligible Participants Awards not based on the Stock, including, without limitation, Cash Performance Awards, and other Performance Awards as deemed by the Committee to be consistent with the purposes of the Plan.

 

4

 

5.        Limits on Awards under the Plan.

 

(a)       Number of Shares. A maximum of 2,250,000 shares of Common Stock, subject to adjustment as provided in Section 6, may be delivered in satisfaction of Stock-Based Awards under the Plan.

 

(b)      Share Counting Rules. The Committee may adopt reasonable counting procedures to ensure appropriate counting, avoid double counting (as, for example, in the case of tandem or substitute awards) and make adjustments if the number of shares of Stock actually delivered differs from the number of shares previously counted in connection with an Award. To the extent that an Award expires or is canceled, forfeited, settled in cash or otherwise terminated or concluded without a delivery to the Participant of the full number of shares to which the Award related, the undelivered shares will again be available for grant. Shares withheld in payment of the exercise price or taxes relating to an Award and shares equal to the number surrendered in payment of any exercise price or taxes relating to an Award shall be deemed to constitute shares not delivered to the Participant and shall be deemed to again be available for Awards under the Plan; provided, however, that, where shares are withheld or surrendered more than ten years after the date of the most recent stockholder approval of the Plan or any other transaction occurs that would result in shares becoming available under this Section 5(b), such shares shall not become available if and to the extent that it would constitute a material revision of the Plan subject to stockholder approval under then applicable rules of the national securities exchange on which the Stock is listed or the Nasdaq Stock Market, as applicable.

 

(c)       Type of Shares. Common Stock delivered by the Company under the Plan may be authorized but unissued Common Stock or previously issued Common Stock acquired by the Company and held in treasury. No fractional shares of Common Stock will be delivered under the Plan.

 

(d)       Other Stock-Based Award Limits. The maximum number of shares of Common Stock subject to Awards that may be granted to any person in any calendar year shall be 150,000. In addition, in no event shall the number of Awards providing for the acquisition of shares of Common Stock for a consideration less than Fair Market Value as of the date of grant or exercise of such Awards granted to all Participants in any Fiscal Year exceed 250,000. For this purpose, Fair Market Value may be determined as of a date not more than two trading days prior to the date of grant or exercise in order to facilitate compliance with the reporting requirements under Section 16 of the Act. Subject to these limitations, each person eligible to participate in the Plan shall be eligible in any year to receive Awards covering up to the full number of shares of Common Stock then available for Awards under the Plan.

 

(e)       Other Award Limits. No more than $2,000,000 may be paid to any individual with respect to any Cash Performance Award (for the avoidance of doubt, Awards expressed in terms of shares of Common Stock or units representing Common Stock, shall be subject to the limit set forth in Section 5(d) above). In applying the dollar limitation of the preceding sentence: (A) multiple Cash Performance Awards to the same individual that are determined by reference to performance periods of one year or less ending with or within the same fiscal year of the Company shall be subject in the aggregate to one $2,000,000 limit, and (B) multiple Cash Performance Awards to the same individual that are determined by reference to one or more multi-year performance periods ending in the same fiscal year of the Company shall be subject in the aggregate to separate $2,000,000 limits.

 

5

 

6.         Adjustments for Recapitalizations, Mergers, Etc.

 

(a)       Dilution and Other Adjustments. Notwithstanding any other provision of the Plan, in the event of any change in the outstanding shares of Common Stock by reason of any stock dividend or split, recapitalization, merger, consolidation, combination or exchange of shares, or other similar corporate change (including a Corporate Event, as defined below), an equitable adjustment shall be made, as determined by the Committee, so as to preserve, without increasing or decreasing, the value of Awards and authorizations, in (i) the maximum number or kind of shares issuable or Awards which may be granted under the Plan, (ii) the maximum number, kind or value of any Plan Awards which may be awarded or paid in general or to any one employee or to all employees in a Fiscal Year, (iii) the performance-based events or objectives applicable to any Plan Awards, (iv) any other aspect or aspects of the Plan or outstanding Awards made thereunder as specified by the Committee, or (v) any combination of the foregoing. Such adjustments shall be made by the Committee and shall be conclusive and binding for all purposes of the Plan.

 

(b)       Corporate Events. Notwithstanding the foregoing, except as may otherwise be provided in an Award agreement or a written employment agreement between the Participant and the Company which has been approved by the Committee, upon any Corporate Event, in lieu of providing the adjustment set forth in Section 6(a) above, the Committee may, in its discretion, cancel any or all vested and/or unvested Awards as of the consummation of such Corporate Event, and provide that holders of Awards so cancelled will receive a payment in respect of cancellation of their Awards based on the amount of the per share consideration being paid for the Stock in connection with such Corporate Event, less, in the case of Options and other Awards subject to exercise, the applicable exercise price; provided, however, that holders of (i) Options shall only be entitled to consideration in respect of cancellation of such Awards if the per share consideration less the applicable exercise price is greater than zero, and (ii) Performance Awards shall only be entitled to consideration in respect of cancellation of such Awards to the extent that applicable performance criteria are achieved prior to or as a result of such Corporate Event, and shall not otherwise be entitled to payment in consideration of cancelled unvested Awards. Payments to holders pursuant to the preceding sentence shall be made in cash, or, in the sole discretion of the Committee, in such other consideration necessary for a holder of an Award to receive property, cash or securities as such holder would have been entitled to receive upon the occurrence of the transaction if the holder had been, immediately prior to such transaction, the holder of the number of shares of Stock covered by the Award at such time.

 

7.        Miscellaneous Provisions.

 

6

 

(a)       The holder of a Plan Award shall have no rights as a Company shareholder with respect thereto unless, and until the date as of which, shares of Common Stock shall have been issued in respect of such Award.

 

(b)       Except as the Committee shall otherwise determine in connection with determining the terms of Awards to be granted or shall thereafter permit, no Plan Award or any rights or interests therein of the recipient thereof shall be assignable or transferable by such recipient except upon death to his or her Designated Beneficiary or by will or the laws of descent and distribution, and, except as aforesaid, during the lifetime of the recipient, a Plan Award shall be exercisable only by, or payable only to, as the case may be, such recipient or his or her guardian or legal representative.

 

(c)        All Awards granted under the Plan shall be evidenced by agreements in such form and containing and/or incorporating such terms and conditions (not inconsistent with the Plan and applicable law) in addition to those provided for herein as the Committee shall approve.

 

(d)       No shares of Common Stock shall be issued, delivered or transferred upon exercise or in payment of any Award granted hereunder unless and until all legal requirements applicable to the issuance, delivery or transfer of such shares have been complied with to the satisfaction of the Committee and the Company, including, without limitation, compliance with the provisions of the Securities Act of 1933, the Act, any other laws to which the issuance, delivery or transfer of such shares would be subject, and the applicable requirements of the exchanges on which the Company's Common Stock may, at the time, be listed. The Committee and the Company shall have the right to condition any issuance of shares of Common Stock made to any Participant hereunder on such Participant's undertaking in writing to comply with such restrictions on his or her subsequent disposition of such shares as the Committee and/or the Company shall deem necessary or advisable as a result of any applicable law, regulation or official interpretation thereof, and certificates, if any, representing such shares may be legended to reflect any such restrictions.

 

(e)       The Company shall have the right to make such provision for the withholding of taxes as it deems necessary. In furtherance of the foregoing, the Company shall have the right to require, as a condition of the distribution of Awards in Common Stock, that the Participant or other person receiving such Common Stock either (i) pay to the Company at the time of distribution thereof the amount of any federal, state, or local taxes which the Company is required to withhold with respect to such Common Stock or (ii) make such other arrangements as the Company may authorize from time to time to provide for such withholding including without limitation having the number of the units of the Award cancelled or the number of the shares of Common Stock to be distributed reduced by an amount with a value equal to the value of such taxes required to be withheld. Notwithstanding the foregoing, the Committee may, in its discretion, in connection with the grant of any Award of Common Stock, authorize the Company to pay to Participant receiving the Award, a cash gross-up payment in an amount necessary to cover such federal, state or local taxes attributable to such Award and to such cash payment.

 

(f)       No employee or director of the Company or a Subsidiary or other person shall have any claim or right to be granted an Award under this Plan. Neither this Plan nor any action taken hereunder shall be construed as giving any employee any right to be retained in the employ of the Company or a Subsidiary, it being understood that all Company and Subsidiary employees who have or may receive Awards under this Plan are employed at the will of the Company or such Subsidiary and in accord with all statutory provisions.

 

7

 

(g)       Awards may be granted to employees who are foreign nationals or employed outside the United States, or both, on such terms and conditions different from those applicable to Awards to employees employed in the United States as may, in the judgment of the Committee, be necessary or desirable in order to recognize differences in local law or tax policy. The Committee also may impose conditions on the exercise or vesting of Awards in order to minimize the Company’s obligation with respect to tax equalization for employees on assignments outside their home country. Notwithstanding the foregoing, no Award may be granted pursuant to this Section if the granting of such Award, or the application of the proposed terms and conditions with respect thereto, would constitute an amendment to the Plan that would have required stockholder approval by applicable law, or by the rules of the Nasdaq Stock Market or any stock exchange on which Common Stock may be listed. 

 

(i)        The costs and expenses of administering this Plan shall be borne by the Company and not charged to any Award or to any employee or Participant receiving an Award.

 

(j)        In addition to the terms defined elsewhere herein, the following terms as used in this Plan shall have the following meanings:

 

“Act” shall mean the Securities Exchange Act of 1934 as amended from time to time.

 

“Award” shall mean an award described in Section 4(a)(i).

 

“Business Combination” shall mean (i) the consummation of a reorganization, merger or consolidation or sale or disposition of all or substantially all of the assets of the Company.

 

“Cash Performance Award” shall mean a Performance Award payable in cash. The right of the Company to extinguish an Award in exchange for cash or the exercise by the Company of such right shall not make an Award otherwise not payable in cash a Cash Performance Award.

 

“Change in Control” shall, unless otherwise provided in an Award agreement, or an employee’s effective negotiated employment, change in control, severance or similar arrangement, mean: (i) a Business Combination, unless, in each case following such Business Combination, (A) all or substantially all of the individuals and entities who were the beneficial owners of the Common Stock of the Company immediately before the consummation of such Business Combination beneficially own, directly or indirectly, more than 50% of, respectively, the then outstanding shares of common stock and the combined voting power of the then outstanding voting securities entitled to vote generally in the election of directors, as the case may be, of the corporation resulting from such Business Combination (including, without limitation, a corporation that as a result of the transaction owns the Company or all or substantially all of the assets of the Company either directly or indirectly through one or more subsidiaries); and (B) no person or group (as defined in Section 13(d) or 14(d)(2) of the Securities Exchange Act of 1934) of the Company or the corporation resulting from the Business Combination) beneficially owns, directly or indirectly, more than 50% of the then outstanding shares of the common stock of the corporation resulting from the Business Combination; (ii) individuals who, as of the date of grant of an Award hereunder constitute the Board of Directors of the Company (the “Incumbent Board”) thereafter cease for any reason to constitute at least a majority of the Board of Directors of the Company, provided, however, that any individual's becoming a director after the date of grant of such Award whose election, or nomination for election by the stockholders of the Company, was approved by a vote of at least a majority of the directors then comprising the Incumbent Board will be considered as though the individual were a member of the Incumbent Board, but excluding, for this purpose, any individual whose initial assumption of office occurs as a result of an actual or threatened election contest with respect to the election or removal of directors or other actual or threatened solicitation of proxies or consents by or on behalf of a Person other than the Board; or (iii) any person (as defined in Section 13(d) or 14(d)(2) of the Securities Exchange Act of 1934) shall become at any time or in any manner the beneficial owner of capital stock of the Company representing more than 50% of the voting power of the Company.

 

8

 

“Corporate Event” means (i) a merger or consolidation involving the Company in which the Company is not the surviving corporation; (ii) a merger or consolidation involving the Company in which the Company is the surviving corporation but the holders of shares of Stock receive securities of another corporation and/or other property, including cash; or (iii) the reorganization or liquidation of the Company.

 

“Designated Beneficiary” shall mean the person or persons, if any, last designated as such by the Participant on a form filed by him or her with the Company in accordance with such procedures as the Committee shall approve.

 

“Fair Market Value” of a share of Common Stock of the Company on any date shall mean the closing price of the Common Stock on the trading day coinciding with such date, or if not trading on such date, then the closing price as of the next following trading day. If shares of the Common Stock shall not have been traded on any national exchange or interdealer quotation system for more than 10 days immediately preceding such date or if deemed appropriate by the Committee for any other reason, the fair market value of shares of Common Stock shall be determined by the Committee in such other manner as it may deem appropriate.

 

“Fiscal Year” shall mean the twelve-month period used as the annual accounting period by the Company and shall be designated according to the calendar year in which such period ends.

 

9

 

“Internal Revenue Code” shall mean the Internal Revenue Code of 1986 and regulations thereunder as amended from time to time. References to particular sections of the Internal Revenue Code shall include any successor provisions.

 

“ISO” shall mean an incentive stock option under Section 422 of the Internal Revenue Code.

 

“Participant” shall mean, as to any Award granted under this Plan and for so long as such Award is outstanding, the employee to whom such Award has been granted.

 

“Performance Award” shall mean an Award subject to Performance Criteria.  To the extent any Performance Award that was issued prior to adoption of the Tax Cuts and Jobs Act of 2017 was intended to be eligible for the performance-based compensation exception under Section 162(m) of the Internal Revenue Code, the Plan and such award shall be construed to the maximum extent permitted by law in a manner consistent with qualifying the award for such exception.

 

“Performance Criteria” shall mean specified criteria the satisfaction of which is a condition for the exercisability, vesting or full enjoyment of an Award. Performance Criterion shall mean: (a) an objectively determinable measure of performance relating to any of the following (determined either on a consolidated basis or, as the context permits, on a divisional, subsidiary, line of business, project or geographical basis, or in combinations thereof): (i) sales; revenues; assets; liabilities; costs; expenses; earnings before or after deduction for all or any portion of interest, taxes, depreciation, amortization or other items, whether or not on a continuing operations or an aggregate or per share basis; comparisons with various stock market indices; return on equity, investment, capital or assets; one or more operating ratios; borrowing levels, leverage ratios or credit rating; market share; capital expenditures; cash flow; working capital requirements; stock price; stockholder return; sales, contribution or gross margin, of particular products or services; particular operating or financial ratios; customer acquisition, expansion, retention; customer satisfaction; employee satisfaction; economic value added; attainment of strategic and operational initiatives; improvement in or attainment of expense levels or working capital levels, including cash, inventory and accounts receivable; operating margin; year-end cash; operating efficiencies; research and development achievements; manufacturing achievements (including obtaining particular yields from manufacturing runs and other measurable objectives related to process development activities); implementation, completion or attainment of measurable objectives with respect to manufacturing, commercialization, products or projects, production, volume levels, acquisitions and divestitures, recruiting and maintaining personnel; or any combination of the foregoing; or (ii) acquisitions and divestitures (in whole or in part); joint ventures and strategic alliances; strategic partnerships or transactions; spin-offs, split-ups and the like; reorganizations; recapitalizations, restructurings, financings (issuance of debt or equity) and refinancings; transactions that would constitute a change of control; or any combination of the foregoing, or (b) a subjectively determinable measure of performance. A Performance Criterion measure and targets with respect thereto determined by the Committee need not be based upon an increase, a positive or improved result or avoidance of loss. In determining attainment of a performance goal (A) the Committee may exclude the impact of unusual, non-recurring or extraordinary items attributable to (1) acquisitions or dispositions of stock or assets, (2) any changes in accounting standards or treatments that may be required or permitted by the Financial Accounting Standards Board, Public Company Accounting Oversight Board or adopted by the Company, the Subsidiaries or any applicable division, business segment or business unit after the goal is established, (3) restructuring activities, including, without limitation, plant closings, plant moves or consolidations, (4) disposal of a segment of a business, (5) discontinued operations, (6) unbudgeted capital expenditures, (7) the issuance or repurchase of equity securities and other changes in the number of outstanding shares, and (8) any business interruption event; and (B) the Committee may determine after the start of a Performance Period to exclude such other items, each determined according to Generally Accepted Accounting Principles (to the extent applicable) as identified in the Company’s accounts, financial statements, notes thereto, or management discussion and analysis.

 

10

 

“Restricted Stock” shall mean an Award of Stock subject to forfeiture to the Company if specified conditions are not satisfied.

 

“SARs” shall mean rights entitling the holder upon exercise to receive cash or Stock, as the Committee determines, equal to a function (determined by the Committee using such factors as it deems appropriate) of the amount by which the Stock has appreciated in value since the date of the Award.

 

“Stock” shall mean Common Stock of the Company, par value $.01 per share.

 

“Stock-based Awards” shall mean such awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of Common Stock as deemed by the Committee to be consistent with the purposes of the Plan, and shall include, without limitation, all Stock Options, SARs, Restricted Stock, Stock Unit Awards and any Performance Awards consisting of any of the foregoing.

 

“Stock Options” shall mean options entitling the recipient to acquire shares of Stock upon payment of the exercise price and shall consist of ISO’s and non-statutory options.

 

“Stock Unit Awards” shall mean an award payable in shares of Stock. A Stock Unit Award may, but shall not be required to include a Performance Award.

 

“Subsidiary” shall mean any domestic or foreign corporation, partnership, association, joint stock company, trust or unincorporated organization “affiliated “ with the Company, that is, directly or indirectly, through one or more intermediaries, “controlling”, “controlled by” or “under common control with”, the Company.

 

“Unrestricted Stock” shall mean an Award of Stock not subject to any restrictions under the Plan.

 

11

 

(k)       This Plan shall be governed by the laws of the Commonwealth of Massachusetts and shall be construed for all purposes in accordance with the laws of said Commonwealth except as may be required by the General Corporation Law of Delaware or by applicable federal law.

 

8.       Amendments and Termination; Requisite Shareholder Approval. The Board may at any time terminate or from time to time amend or suspend the Plan in whole or in part in such respects as the Board may deem advisable in order that Awards granted thereunder shall conform to any change in the law, or in any other respect which the Board may deem to be in the best interests of the Company; provided, however, that no amendment of the Plan shall be made without shareholder approval if shareholder approval of the amendment is at the time required by applicable law, or by the rules of the Nasdaq Stock Market or any stock exchange on which Common Stock may be listed. The Board shall have the power to amend the Plan in any manner contemplated by this Section 8 deemed necessary or advisable for Awards granted under the Plan to qualify for the exemption provided by Rule 16b-3 (or any successor rule relating to exemption from Section 16(b) of the Act), or to comply with applicable law, and any such amendment shall, to the extent deemed necessary or advisable by the Board, be applicable to any outstanding Awards theretofore granted under the Plan notwithstanding any contrary provisions contained in any Award agreement. In the event of any such amendment to the Plan, the holder of any Award outstanding under the Plan shall, upon request of the Board and as a condition to the exercisability thereof, execute a conforming amendment in the form prescribed by the Board to any Award agreement relating thereto within such reasonable time as the Board shall specify in such request. With the consent of the Participant affected, the Board may amend outstanding agreements evidencing Plan Awards in a manner not inconsistent with the terms of the Plan. Notwithstanding anything contained in this Section 8 or in any other provision of the Plan, unless required by law, no action contemplated or permitted by this Section 8 shall adversely affect any rights of Participants or obligations of the Company to Participants with respect to any Award theretofore made under the Plan without the consent of the affected Participant.

 

9.       Effective Date and Term of Plan. This Plan was adopted on April 8, 2003. The Plan was amended on February 26, 2007, March 22, 2007, February 21, 2008, March 2, 2011, March 7, 2013, March 17, 2016, March 14, 2018, March 16, 2021, and March 14, 2023. The Plan was last ratified by the Company’s stockholders on June 9, 2021. The Plan shall remain in effect, subject to the right of the Board of Directors to further amend or terminate the Plan at any time pursuant to Section 8 hereof, until all shares subject to it shall have been purchased or acquired according to the Plan’s provisions, provided, however, that no ISO may be granted under the Plan after the tenth anniversary of the date upon which the Plan has most recently been ratified by the Company’s stockholders.

 

12
EX-10.33 4 ex_487612.htm EXHIBIT 10.33 HTML Editor

Exhibit 10.33

 

UFP TECHNOLOGIES, INC.

 

2003 INCENTIVE PLAN

As Amended and Restated on March 14, 2023

 

 

 

1.       Statement of Purpose. The purpose of this 2003 Incentive Plan (hereinafter referred to as the “Plan”) is to benefit UFP TECHNOLOGIES, INC. (the “Company”) through the maintenance and development of its businesses by offering equity-based and other incentives to certain present and future executives and other employees who are in a position to contribute to the long-term success and growth of the Company, thereby encouraging the continuance of their involvement with the Company and/or its subsidiaries.

 

2.        Administration of the Plan.

 

(a)      Board or Committee Administration. Except as otherwise provided in subsection 2(d) below, the Plan   shall be administered by the Compensation Committee of the Company's Board of Directors (the “Board”) or such other committee thereof consisting of such members (not less than two) of the Board as are appointed from time to time by the Board (the “Compensation Committee”), each of the members of which, at the time of any action under the Plan, shall be (i) a “non-employee director” as then defined under Rule 16b-3 under the Act (or meeting comparable requirements of any successor rule relating to exemption from Section 16(b) of the Act) and (ii) an “independent director” as then defined under the rules of the Nasdaq Stock Market (or meeting comparable requirements of any stock exchange on which the Company's Common Stock, $.01 par value (the “Common Stock”) may then be listed). Hereinafter, all references in this Plan to the “Committee” shall mean the Board if no Committee has been appointed. The Committee shall have all necessary powers to administer and interpret the Plan. Such powers of the Compensation Committee include exclusive authority (within the limitations described and except as otherwise provided in the Plan) to select the employees or determine classes of employees to be granted Awards under the Plan, to determine the aggregate amount, type, size, and terms of the Awards to be made to eligible employees, and to determine the time when Awards will be granted. The Compensation Committee may take into consideration recommendations from the appropriate officers of the Company with respect to making the foregoing determinations as to Plan Awards, administration, and interpretation. The Committee shall have full power and authority to adopt such rules, regulations, agreements and instruments for the administration of the Plan and for the conduct of its business as the Committee deems necessary or advisable. The Committee's interpretations of the Plan and all action taken and determinations made by the Committee pursuant to the powers vested in it hereunder shall be conclusive and binding on all parties concerned, including the Company, its shareholders and any director or employee of the Company or any Subsidiary.

 

(b)       Committee Actions. The Committee may select one of its members as its chairman and shall hold meetings at such time and places as it may determine. A majority of the Committee shall constitute a quorum and acts of a majority of the members of the Committee at a meeting at which a quorum is present, or acts reduced to or approved in writing by all the members of the Committee (if consistent with applicable state law), shall be the valid acts of the Committee. From time to time the Board may increase the size of the Committee and appoint additional members thereof, remove members (with or without cause) and appoint new members in substitution therefor, fill vacancies however caused, or remove all members of the Committee and thereafter directly administer the Plan.

 

 

 

(c)       Section 409A. The Committee shall take into account compliance with Section 409A of the Internal Revenue Code in connection with any grant of an Award under the Plan, to the extent applicable.

 

 

(d)      Delegation by the Board to a Designated Officer.  To the extent permitted by law, the Board may delegate to the Chief Executive Officer of the Company or one or more other officers of the Company (each herein a “Designated Officer”) the duties or powers it may deem advisable to assist the Committee in the administration and operation of the Plan and may grant to the Designated Officer authority to enter into 1 or more transactions to grant equity-based Awards and with respect to such transactions, such Awards may be issued in such numbers, at such times and for such consideration as the Designated Officer may determine; provided that the resolution fixes (i) the maximum number of rights or options subject to the equity-based Awards, and the maximum number of shares issuable upon exercise thereof, that may be issued pursuant to such resolution, (ii) a time period during which such equity-based Awards and during which the shares issuable upon exercise thereof, may be issued, and (iii) a minimum amount of consideration (if any) for which such rights or options subject to such equity-based Awards may be issued and a minimum amount of consideration for the shares issuable upon exercise thereof and provided further, however, (i) the Committee shall not delegate such responsibilities to the Designated Officer for Awards granted to the Designated Officer or any employee who is considered an officer (as defined in Rule 16a-1(f)) of the Exchange Act.  The Designated Officer(s) shall report periodically to the Committee regarding the nature and scope of the Awards granted pursuant to the authority delegated.  To the extent authority under the Plan is delegated to the Designated Officer, references in the other provisions of this Plan to the Committee shall instead mean to the Designated Officer. 

 

3.       Eligibility. Participation in the Plan shall be limited to executives or other employees (including officers and directors who are also employees) of the Company and its Subsidiaries selected on the basis of such criteria as the Committee may determine. Employees who participate in other incentive or benefit plans of the Company or any Subsidiary may also participate in this Plan. As used herein, the term “employee” shall mean any person employed full time or part time by the Company or a Subsidiary on a salaried basis, and the term “employment” shall mean full-time or part-time salaried employment by the Company or a Subsidiary.

 

4.       Rules Applicable to Awards.

 

(a) All Awards.

 

(i)        Awards. Awards may be granted in the form of any or a combination of the following: Stock Options; SARs; Restricted Stock; Unrestricted Stock; Stock Unit Awards, other Stock Based Awards; Cash Performance Awards; other Performance Awards; or grants of cash, or loans, made in connection with other Awards in order to help defray in whole or in part the economic cost (including tax cost) of the Award to the Participant.

 

2

 

(ii)       Terms of Awards. The Committee shall determine the terms of all Awards subject to the limitations provided herein.

 

(iii)      Performance Criteria. Where rights under an Award depend in whole or in part on satisfaction of Performance Criteria, actions by the Company that have an effect, however material, on such Performance Criteria or on the likelihood that they will be satisfied will not be deemed an amendment or alteration of the Award.

 

(iv)      Vesting, Etc. Without limiting the generality of Section 4(a)(ii), the Committee may determine the time or times at which an Award will vest (i.e., become free of forfeiture restrictions) or become exercisable and the terms on which an Award requiring exercise will remain exercisable.

 

(b) Awards Requiring Exercise.

 

(i) Time and Manner of Exercise. Unless the Committee expressly provides otherwise, (A) an Award requiring exercise by the holder will not be deemed to have been exercised until the Committee receives a written notice of exercise (in form acceptable to the Committee) signed by the appropriate person and accompanied by any payment required under the Award; and (B) if the Award is exercised by any person other than the Participant, the Committee may require satisfactory evidence that the person exercising the Award has the right to do so.

 

(ii) Exercise Price. The Committee shall determine the exercise price of each Stock Option or SAR; provided, however, that each Stock Option or SAR must have an exercise price that is not less than the fair market value of the Stock subject to the Stock Option, determined as of the date of grant. Except as provided in Section 6, in no event may any Stock Option or SAR previously granted under the Plan (i) be amended to decrease the exercise price or strike price thereof, as the case may be, (ii) be cancelled in conjunction with the grant of any new Stock Option or SAR with a lower exercise price or strike price, as the case may be, (iii) be amended to provide for a cash buyout of the Stock Option or SAR if such Stock Option or SAR is not “in the money,” (iv) be subject to a voluntary surrender and subsequent grant of “in the money” Stock Option or SAR (v) otherwise be subject to any action that would be treated under the NASDAQ rules as a “repricing” of such Stock Option or SAR unless such amendment, cancellation or action is approved by the Company’s shareholders.

 

(iii) Payment of Exercise Price, If Any. Where the exercise of an Award is to be accompanied by payment, the Committee may determine the required or permitted forms of payment.

 

(c) Awards Not Requiring Exercise.

 

3

 

(i). Restricted Stock. Restricted Stock awards shall be evidenced by a written agreement in the form prescribed by the Committee in its discretion, which shall set forth the number of shares of Common Stock awarded, the restrictions imposed thereon (which may include, without limitation, restrictions on the right of the grantee to sell, assign, transfer or encumber shares while such shares are subject to other restrictions imposed under this Section 4), the duration of such restrictions; the events (which may, in the discretion of the Committee, include performance-based events or objectives) the occurrence of which would cause a forfeiture of the Restricted Stock in whole or in part; and such other terms and conditions as the Committee in its discretion deems appropriate. If so determined by the Committee at the time of an award of Restricted Stock, the lapse of restrictions on Restricted Stock may be based on the extent of achievement over a specified performance period of one or more performance targets based on performance criteria established by the Committee. Restricted Stock awards shall be effective upon execution of the applicable Restricted Stock agreement by the Company and the Participant. Following a Restricted Stock award and prior to the lapse or termination of the applicable restrictions, the share certificates for such Restricted Stock shall be held in escrow by the Company. Upon the lapse or termination of the applicable restrictions (and not before such time), the certificates for the Restricted Stock shall be issued or delivered to the Participant. From the date a Restricted Stock award is effective, the Participant shall be a shareholder with respect to all the shares represented by such certificates and shall have all the rights of a shareholder with respect to all such shares, including the right to vote such shares and to receive all dividends and other distributions paid with respect to such shares, subject only to the restrictions imposed by the Committee.

 

(ii). Stock Unit Awards. Stock Unit Awards shall be evidenced by a written agreement in the form prescribed by the Committee in its discretion, which shall set forth the number of shares of Common Stock to be awarded pursuant to the Award, the restrictions imposed thereon (which may include, without limitation: restrictions on the right of the grantee to sell, assign, transfer or encumber the Award prior to vesting, and, in the discretion of the Committee, certain continued service requirements and terms under which the vesting of such Awards might be accelerated) and such other terms and conditions as the Committee in its discretion deems appropriate. If so determined by the Committee at the time of the grant of a Stock Unit Award, vesting of the Award may be contingent on achievement over a specified performance period of one or more performance targets based on performance criteria established by the Committee. Stock Unit Awards shall be effective upon execution of the applicable Stock Unit Award Agreement by the Company and the Participant. Upon a determination of satisfaction of the applicable performance-related conditions and satisfaction of the applicable continued service requirements, (and not before such time), shares of Stock shall be issued to the Participant pursuant to the Award. The Participant shall not have any rights of a shareholder of the Company with respect to such shares prior to such issuance.

 

(iii)        Unrestricted Stock and Other Stock-Based Awards. The Committee shall have the authority in its discretion to grant to eligible Participants Unrestricted Stock and other Stock-Based Awards. The Committee shall determine the terms and conditions, if any, of any Other Stock Based Awards made under the Plan.

 

(iv)       Non Stock Based Awards. The Committee shall have the authority in its discretion to grant to eligible Participants Awards not based on the Stock, including, without limitation, Cash Performance Awards, and other Performance Awards as deemed by the Committee to be consistent with the purposes of the Plan.

 

4

 

5.        Limits on Awards under the Plan.

 

(a)       Number of Shares. A maximum of 2,250,000 shares of Common Stock, subject to adjustment as provided in Section 6, may be delivered in satisfaction of Stock-Based Awards under the Plan.

 

(b)      Share Counting Rules. The Committee may adopt reasonable counting procedures to ensure appropriate counting, avoid double counting (as, for example, in the case of tandem or substitute awards) and make adjustments if the number of shares of Stock actually delivered differs from the number of shares previously counted in connection with an Award. To the extent that an Award expires or is canceled, forfeited, settled in cash or otherwise terminated or concluded without a delivery to the Participant of the full number of shares to which the Award related, the undelivered shares will again be available for grant. Shares withheld in payment of the exercise price or taxes relating to an Award and shares equal to the number surrendered in payment of any exercise price or taxes relating to an Award shall be deemed to constitute shares not delivered to the Participant and shall be deemed to again be available for Awards under the Plan; provided, however, that, where shares are withheld or surrendered more than ten years after the date of the most recent stockholder approval of the Plan or any other transaction occurs that would result in shares becoming available under this Section 5(b), such shares shall not become available if and to the extent that it would constitute a material revision of the Plan subject to stockholder approval under then applicable rules of the national securities exchange on which the Stock is listed or the Nasdaq Stock Market, as applicable.

 

(c)       Type of Shares. Common Stock delivered by the Company under the Plan may be authorized but unissued Common Stock or previously issued Common Stock acquired by the Company and held in treasury. No fractional shares of Common Stock will be delivered under the Plan.

 

(d)       Other Stock-Based Award Limits. The maximum number of shares of Common Stock subject to Awards that may be granted to any person in any calendar year shall be 150,000. In addition, in no event shall the number of Awards providing for the acquisition of shares of Common Stock for a consideration less than Fair Market Value as of the date of grant or exercise of such Awards granted to all Participants in any Fiscal Year exceed 250,000. For this purpose, Fair Market Value may be determined as of a date not more than two trading days prior to the date of grant or exercise in order to facilitate compliance with the reporting requirements under Section 16 of the Act. Subject to these limitations, each person eligible to participate in the Plan shall be eligible in any year to receive Awards covering up to the full number of shares of Common Stock then available for Awards under the Plan.

 

(e)       Other Award Limits. No more than $2,000,000 may be paid to any individual with respect to any Cash Performance Award (for the avoidance of doubt, Awards expressed in terms of shares of Common Stock or units representing Common Stock, shall be subject to the limit set forth in Section 5(d) above). In applying the dollar limitation of the preceding sentence: (A) multiple Cash Performance Awards to the same individual that are determined by reference to performance periods of one year or less ending with or within the same fiscal year of the Company shall be subject in the aggregate to one $2,000,000 limit, and (B) multiple Cash Performance Awards to the same individual that are determined by reference to one or more multi-year performance periods ending in the same fiscal year of the Company shall be subject in the aggregate to separate $2,000,000 limits.

 

5

 

6.         Adjustments for Recapitalizations, Mergers, Etc.

 

(a)       Dilution and Other Adjustments. Notwithstanding any other provision of the Plan, in the event of any change in the outstanding shares of Common Stock by reason of any stock dividend or split, recapitalization, merger, consolidation, combination or exchange of shares, or other similar corporate change (including a Corporate Event, as defined below), an equitable adjustment shall be made, as determined by the Committee, so as to preserve, without increasing or decreasing, the value of Awards and authorizations, in (i) the maximum number or kind of shares issuable or Awards which may be granted under the Plan, (ii) the maximum number, kind or value of any Plan Awards which may be awarded or paid in general or to any one employee or to all employees in a Fiscal Year, (iii) the performance-based events or objectives applicable to any Plan Awards, (iv) any other aspect or aspects of the Plan or outstanding Awards made thereunder as specified by the Committee, or (v) any combination of the foregoing. Such adjustments shall be made by the Committee and shall be conclusive and binding for all purposes of the Plan.

 

(b)       Corporate Events. Notwithstanding the foregoing, except as may otherwise be provided in an Award agreement or a written employment agreement between the Participant and the Company which has been approved by the Committee, upon any Corporate Event, in lieu of providing the adjustment set forth in Section 6(a) above, the Committee may, in its discretion, cancel any or all vested and/or unvested Awards as of the consummation of such Corporate Event, and provide that holders of Awards so cancelled will receive a payment in respect of cancellation of their Awards based on the amount of the per share consideration being paid for the Stock in connection with such Corporate Event, less, in the case of Options and other Awards subject to exercise, the applicable exercise price; provided, however, that holders of (i) Options shall only be entitled to consideration in respect of cancellation of such Awards if the per share consideration less the applicable exercise price is greater than zero, and (ii) Performance Awards shall only be entitled to consideration in respect of cancellation of such Awards to the extent that applicable performance criteria are achieved prior to or as a result of such Corporate Event, and shall not otherwise be entitled to payment in consideration of cancelled unvested Awards. Payments to holders pursuant to the preceding sentence shall be made in cash, or, in the sole discretion of the Committee, in such other consideration necessary for a holder of an Award to receive property, cash or securities as such holder would have been entitled to receive upon the occurrence of the transaction if the holder had been, immediately prior to such transaction, the holder of the number of shares of Stock covered by the Award at such time.

 

7.         Miscellaneous Provisions.

 

6

 

(a)        The holder of a Plan Award shall have no rights as a Company shareholder with respect thereto unless, and until the date as of which, shares of Common Stock shall have been issued in respect of such Award.

 

(b)        Except as the Committee shall otherwise determine in connection with determining the terms of Awards to be granted or shall thereafter permit, no Plan Award or any rights or interests therein of the recipient thereof shall be assignable or transferable by such recipient except upon death to his or her Designated Beneficiary or by will or the laws of descent and distribution, and, except as aforesaid, during the lifetime of the recipient, a Plan Award shall be exercisable only by, or payable only to, as the case may be, such recipient or his or her guardian or legal representative.

 

(c)         All Awards granted under the Plan shall be evidenced by agreements in such form and containing and/or incorporating such terms and conditions (not inconsistent with the Plan and applicable law) in addition to those provided for herein as the Committee shall approve.

 

(d)       No shares of Common Stock shall be issued, delivered or transferred upon exercise or in payment of any Award granted hereunder unless and until all legal requirements applicable to the issuance, delivery or transfer of such shares have been complied with to the satisfaction of the Committee and the Company, including, without limitation, compliance with the provisions of the Securities Act of 1933, the Act, any other laws to which the issuance, delivery or transfer of such shares would be subject, and the applicable requirements of the exchanges on which the Company's Common Stock may, at the time, be listed. The Committee and the Company shall have the right to condition any issuance of shares of Common Stock made to any Participant hereunder on such Participant's undertaking in writing to comply with such restrictions on his or her subsequent disposition of such shares as the Committee and/or the Company shall deem necessary or advisable as a result of any applicable law, regulation or official interpretation thereof, and certificates, if any, representing such shares may be legended to reflect any such restrictions.

 

(e)        The Company shall have the right to make such provision for the withholding of taxes as it deems necessary. In furtherance of the foregoing, the Company shall have the right to require, as a condition of the distribution of Awards in Common Stock, that the Participant or other person receiving such Common Stock either (i) pay to the Company at the time of distribution thereof the amount of any federal, state, or local taxes which the Company is required to withhold with respect to such Common Stock or (ii) make such other arrangements as the Company may authorize from time to time to provide for such withholding including without limitation having the number of the units of the Award cancelled or the number of the shares of Common Stock to be distributed reduced by an amount with a value equal to the value of such taxes required to be withheld. Notwithstanding the foregoing, the Committee may, in its discretion, in connection with the grant of any Award of Common Stock, authorize the Company to pay to Participant receiving the Award, a cash gross-up payment in an amount necessary to cover such federal, state or local taxes attributable to such Award and to such cash payment.

 

(f)        No employee or director of the Company or a Subsidiary or other person shall have any claim or right to be granted an Award under this Plan. Neither this Plan nor any action taken hereunder shall be construed as giving any employee any right to be retained in the employ of the Company or a Subsidiary, it being understood that all Company and Subsidiary employees who have or may receive Awards under this Plan are employed at the will of the Company or such Subsidiary and in accord with all statutory provisions.

 

7

 

(g)        Awards may be granted to employees who are foreign nationals or employed outside the United States, or both, on such terms and conditions different from those applicable to Awards to employees employed in the United States as may, in the judgment of the Committee, be necessary or desirable in order to recognize differences in local law or tax policy. The Committee also may impose conditions on the exercise or vesting of Awards in order to minimize the Company’s obligation with respect to tax equalization for employees on assignments outside their home country. Notwithstanding the foregoing, no Award may be granted pursuant to this Section if the granting of such Award, or the application of the proposed terms and conditions with respect thereto, would constitute an amendment to the Plan that would have required stockholder approval by applicable law, or by the rules of the Nasdaq Stock Market or any stock exchange on which Common Stock may be listed. 

 

(i)         The costs and expenses of administering this Plan shall be borne by the Company and not charged to any Award or to any employee or Participant receiving an Award.

 

(j)         In addition to the terms defined elsewhere herein, the following terms as used in this Plan shall have the following meanings:

 

“Act” shall mean the Securities Exchange Act of 1934 as amended from time to time.

 

“Award” shall mean an award described in Section 4(a)(i).

 

“Business Combination” shall mean (i) the consummation of a reorganization, merger or consolidation or sale or disposition of all or substantially all of the assets of the Company.

 

“Cash Performance Award” shall mean a Performance Award payable in cash. The right of the Company to extinguish an Award in exchange for cash or the exercise by the Company of such right shall not make an Award otherwise not payable in cash a Cash Performance Award.

 

“Change in Control” shall, unless otherwise provided in an Award agreement, or an employee’s effective negotiated employment, change in control, severance or similar arrangement, mean: (i) a Business Combination, unless, in each case following such Business Combination, (A) all or substantially all of the individuals and entities who were the beneficial owners of the Common Stock of the Company immediately before the consummation of such Business Combination beneficially own, directly or indirectly, more than 50% of, respectively, the then outstanding shares of common stock and the combined voting power of the then outstanding voting securities entitled to vote generally in the election of directors, as the case may be, of the corporation resulting from such Business Combination (including, without limitation, a corporation that as a result of the transaction owns the Company or all or substantially all of the assets of the Company either directly or indirectly through one or more subsidiaries); and (B) no person or group (as defined in Section 13(d) or 14(d)(2) of the Securities Exchange Act of 1934) of the Company or the corporation resulting from the Business Combination) beneficially owns, directly or indirectly, more than 50% of the then outstanding shares of the common stock of the corporation resulting from the Business Combination; (ii) individuals who, as of the date of grant of an Award hereunder constitute the Board of Directors of the Company (the “Incumbent Board”) thereafter cease for any reason to constitute at least a majority of the Board of Directors of the Company, provided, however, that any individual's becoming a director after the date of grant of such Award whose election, or nomination for election by the stockholders of the Company, was approved by a vote of at least a majority of the directors then comprising the Incumbent Board will be considered as though the individual were a member of the Incumbent Board, but excluding, for this purpose, any individual whose initial assumption of office occurs as a result of an actual or threatened election contest with respect to the election or removal of directors or other actual or threatened solicitation of proxies or consents by or on behalf of a Person other than the Board; or (iii) any person (as defined in Section 13(d) or 14(d)(2) of the Securities Exchange Act of 1934) shall become at any time or in any manner the beneficial owner of capital stock of the Company representing more than 50% of the voting power of the Company.

 

8

 

“Corporate Event” means (i) a merger or consolidation involving the Company in which the Company is not the surviving corporation; (ii) a merger or consolidation involving the Company in which the Company is the surviving corporation but the holders of shares of Stock receive securities of another corporation and/or other property, including cash; or (iii) the reorganization or liquidation of the Company.

 

“Designated Beneficiary” shall mean the person or persons, if any, last designated as such by the Participant on a form filed by him or her with the Company in accordance with such procedures as the Committee shall approve.

 

“Fair Market Value” of a share of Common Stock of the Company on any date shall mean the closing price of the Common Stock on the trading day coinciding with such date, or if not trading on such date, then the closing price as of the next following trading day. If shares of the Common Stock shall not have been traded on any national exchange or interdealer quotation system for more than 10 days immediately preceding such date or if deemed appropriate by the Committee for any other reason, the fair market value of shares of Common Stock shall be determined by the Committee in such other manner as it may deem appropriate.

 

“Fiscal Year” shall mean the twelve-month period used as the annual accounting period by the Company and shall be designated according to the calendar year in which such period ends.

 

9

 

“Internal Revenue Code” shall mean the Internal Revenue Code of 1986 and regulations thereunder as amended from time to time. References to particular sections of the Internal Revenue Code shall include any successor provisions.

 

“ISO” shall mean an incentive stock option under Section 422 of the Internal Revenue Code.

 

“Participant” shall mean, as to any Award granted under this Plan and for so long as such Award is outstanding, the employee to whom such Award has been granted.

 

“Performance Award” shall mean an Award subject to Performance Criteria.  To the extent any Performance Award that was issued prior to adoption of the Tax Cuts and Jobs Act of 2017 was intended to be eligible for the performance-based compensation exception under Section 162(m) of the Internal Revenue Code, the Plan and such award shall be construed to the maximum extent permitted by law in a manner consistent with qualifying the award for such exception.

 

“Performance Criteria” shall mean specified criteria the satisfaction of which is a condition for the exercisability, vesting or full enjoyment of an Award. Performance Criterion shall mean: (a) an objectively determinable measure of performance relating to any of the following (determined either on a consolidated basis or, as the context permits, on a divisional, subsidiary, line of business, project or geographical basis, or in combinations thereof): (i) sales; revenues; assets; liabilities; costs; expenses; earnings before or after deduction for all or any portion of interest, taxes, depreciation, amortization or other items, whether or not on a continuing operations or an aggregate or per share basis; comparisons with various stock market indices; return on equity, investment, capital or assets; one or more operating ratios; borrowing levels, leverage ratios or credit rating; market share; capital expenditures; cash flow; working capital requirements; stock price; stockholder return; sales, contribution or gross margin, of particular products or services; particular operating or financial ratios; customer acquisition, expansion, retention; customer satisfaction; employee satisfaction; economic value added; attainment of strategic and operational initiatives; improvement in or attainment of expense levels or working capital levels, including cash, inventory and accounts receivable; operating margin; year-end cash; operating efficiencies; research and development achievements; manufacturing achievements (including obtaining particular yields from manufacturing runs and other measurable objectives related to process development activities); implementation, completion or attainment of measurable objectives with respect to manufacturing, commercialization, products or projects, production, volume levels, acquisitions and divestitures, recruiting and maintaining personnel; or any combination of the foregoing; or (ii) acquisitions and divestitures (in whole or in part); joint ventures and strategic alliances; strategic partnerships or transactions; spin-offs, split-ups and the like; reorganizations; recapitalizations, restructurings, financings (issuance of debt or equity) and refinancings; transactions that would constitute a change of control; or any combination of the foregoing, or (b) a subjectively determinable measure of performance. A Performance Criterion measure and targets with respect thereto determined by the Committee need not be based upon an increase, a positive or improved result or avoidance of loss. In determining attainment of a performance goal (A) the Committee may exclude the impact of unusual, non-recurring or extraordinary items attributable to (1) acquisitions or dispositions of stock or assets, (2) any changes in accounting standards or treatments that may be required or permitted by the Financial Accounting Standards Board, Public Company Accounting Oversight Board or adopted by the Company, the Subsidiaries or any applicable division, business segment or business unit after the goal is established, (3) restructuring activities, including, without limitation, plant closings, plant moves or consolidations, (4) disposal of a segment of a business, (5) discontinued operations, (6) unbudgeted capital expenditures, (7) the issuance or repurchase of equity securities and other changes in the number of outstanding shares, and (8) any business interruption event; and (B) the Committee may determine after the start of a Performance Period to exclude such other items, each determined according to Generally Accepted Accounting Principles (to the extent applicable) as identified in the Company’s accounts, financial statements, notes thereto, or management discussion and analysis.

 

10

 

“Restricted Stock” shall mean an Award of Stock subject to forfeiture to the Company if specified conditions are not satisfied.

 

“SARs” shall mean rights entitling the holder upon exercise to receive cash or Stock, as the Committee determines, equal to a function (determined by the Committee using such factors as it deems appropriate) of the amount by which the Stock has appreciated in value since the date of the Award.

 

“Stock” shall mean Common Stock of the Company, par value $.01 per share.

 

“Stock-based Awards” shall mean such awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of Common Stock as deemed by the Committee to be consistent with the purposes of the Plan, and shall include, without limitation, all Stock Options, SARs, Restricted Stock, Stock Unit Awards and any Performance Awards consisting of any of the foregoing.

 

“Stock Options” shall mean options entitling the recipient to acquire shares of Stock upon payment of the exercise price and shall consist of ISO’s and non-statutory options.

 

“Stock Unit Awards” shall mean an award payable in shares of Stock. A Stock Unit Award may, but shall not be required to include a Performance Award.

 

“Subsidiary” shall mean any domestic or foreign corporation, partnership, association, joint stock company, trust or unincorporated organization “affiliated “ with the Company, that is, directly or indirectly, through one or more intermediaries, “controlling”, “controlled by” or “under common control with”, the Company.

 

11

 

“Unrestricted Stock” shall mean an Award of Stock not subject to any restrictions under the Plan.

 

(k)      This Plan shall be governed by the laws of the Commonwealth of Massachusetts and shall be construed for all purposes in accordance with the laws of said Commonwealth except as may be required by the General Corporation Law of Delaware or by applicable federal law.

 

8.       Amendments and Termination; Requisite Shareholder Approval. The Board may at any time terminate or from time to time amend or suspend the Plan in whole or in part in such respects as the Board may deem advisable in order that Awards granted thereunder shall conform to any change in the law, or in any other respect which the Board may deem to be in the best interests of the Company; provided, however, that no amendment of the Plan shall be made without shareholder approval if shareholder approval of the amendment is at the time required by applicable law, or by the rules of the Nasdaq Stock Market or any stock exchange on which Common Stock may be listed. The Board shall have the power to amend the Plan in any manner contemplated by this Section 8 deemed necessary or advisable for Awards granted under the Plan to qualify for the exemption provided by Rule 16b-3 (or any successor rule relating to exemption from Section 16(b) of the Act), or to comply with applicable law, and any such amendment shall, to the extent deemed necessary or advisable by the Board, be applicable to any outstanding Awards theretofore granted under the Plan notwithstanding any contrary provisions contained in any Award agreement. In the event of any such amendment to the Plan, the holder of any Award outstanding under the Plan shall, upon request of the Board and as a condition to the exercisability thereof, execute a conforming amendment in the form prescribed by the Board to any Award agreement relating thereto within such reasonable time as the Board shall specify in such request. With the consent of the Participant affected, the Board may amend outstanding agreements evidencing Plan Awards in a manner not inconsistent with the terms of the Plan. Notwithstanding anything contained in this Section 8 or in any other provision of the Plan, unless required by law, no action contemplated or permitted by this Section 8 shall adversely affect any rights of Participants or obligations of the Company to Participants with respect to any Award theretofore made under the Plan without the consent of the affected Participant.

 

9.       Effective Date and Term of Plan. This Plan was adopted on April 8, 2003. The Plan was amended on February 26, 2007, March 22, 2007, February 21, 2008, March 2, 2011, March 7, 2013, March 17, 2016, March 14, 2018, March 16, 2021, and March 14, 2023. The Plan was last ratified by the Company’s stockholders on June 9, 2021. The Plan shall remain in effect, subject to the right of the Board of Directors to further amend or terminate the Plan at any time pursuant to Section 8 hereof, until all shares subject to it shall have been purchased or acquired according to the Plan’s provisions, provided, however, that no ISO may be granted under the Plan after the tenth anniversary of the date upon which the Plan has most recently been ratified by the Company’s stockholders.

 

12
EX-21.01 5 ex_485784.htm EXHIBIT 21.01 HTML Editor

Exhibit 21.01

 

UFP Technologies, Inc. wholly owns the following companies:

 

 

1.

Advant Medical Limited, a private limited company incorporated under the laws of Ireland, its wholly-owned subsidiary:

 

 

a.

Munlu Leighis Advant Teoranta, a private limited company incorporated under the laws of Ireland

 

 

2.

Advant Costa Rica Limitada, incorporated under the laws of Costa Rica

 

 

3.

Advant Medical Inc., a Delaware corporation

 

 

4.

Simco Industries, Inc., a Michigan company

 

 

5.

Dielectrics, Inc., a Massachusetts company

 

 

6.

Contech Medical, Inc., a Rhode Island company

 

 

7.

DAS Medical Holdings, LLC, a Georgia limited liability company, and its wholly-owned subsidiaries:

 

a.

Sterimed, LLC, a Georgia limited liability company

 

b.

One Degree Medical Holdings, LLC, a Georgia limited liability company

 

c.

DAS Medical Corporation, a Delaware company, and its wholly-owned subsidiary:

 

i.

DAS Medical International, S.R.L., a Dominican Republic company

 

 

8.

UFP Realty LLC, a Massachusetts limited liability company, and its wholly-owned subsidiaries:

 

a.

UFPT MA, LLC, a Massachusetts limited liability company

 

b.

UFP CO, LLC, a Colorado limited liability company

 

c.

UFP FL, LLC, a Florida limited liability company

 

d.

UFP TX, LLC, a Texas limited liability company

 

e.

UFP MI, LLC, a Michigan limited liability company

 

f.

UFP IA, LLC, an Iowa limited liability company

 

 

 

 
EX-23.01 6 ex_485785.htm EXHIBIT 23.01 HTML Editor

Exhibit 23.01

 

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

We have issued our reports dated March 16, 2023, with respect to the consolidated financial statements and internal controls over financial reporting included in the Annual Report of UFP Technologies, Inc. on Form 10-K for the year ended December 31, 2022. We hereby consent to the incorporation by reference of said reports in the Registration Statements of UFP Technologies, Inc. on Forms S-8 (File No. 333-265651, File No. 333-174907, File No. 333-151883, File No. 333-143673, File No. 333-116436, File No. 333-56741, File No. 333-91408, File No. 333-106390, File No. 333-39946, and File No. 333-76640).

 

/s/ GRANT THORNTON LLP

 

Boston, MA

March 16, 2023

 

 

 

 

 
EX-31.01 7 ex_485786.htm EXHIBIT 31.01 HTML Editor

Exhibit 31.01

 

Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

 

I, R. Jeffrey Bailly, President and Chief Executive Officer of UFP Technologies, Inc., certify that:

 

1.

I have reviewed this annual report on Form 10-K of UFP Technologies, 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 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(s) 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 such 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(s) 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 the registrant’s board of directors (or persons performing the equivalent functions):

 

 

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.

 

March 16, 2023

 

/s/   R. Jeffrey Bailly

Date  

 

R. Jeffrey Bailly

Chairman, Chief Executive Officer,

President, and Director  

(Principal Executive Officer)

 

 

 
EX-31.02 8 ex_485787.htm EXHIBIT 31.02 HTML Editor

Exhibit 31.02

 

Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

 

I, Ronald J. Lataille, Chief Financial Officer of UFP Technologies, Inc., certify that:

 

1.

I have reviewed this annual report on Form 10-K of UFP Technologies, 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 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(s) 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 such 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(s) 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 the registrant’s board of directors (or persons performing the equivalent functions):

 

 

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.

 

March 16, 2023

 

/s/   Ronald J. Lataille

Date

 

Ronald J. Lataille

Chief Financial Officer

(Principal Financial Officer)

 

 
EX-32.01 9 ex_485788.htm EXHIBIT 32.01 HTML Editor

Exhibit 32.01

 

CERTIFICATION

 

Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

(Subsections (a) and (b) of Section 1350, Chapter 63 of Title 18, United States Code)

 

Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (subsections (a) and (b) of Section 1350, Chapter 63 of Title 18, United States Code), the undersigned officers of UFP Technologies, Inc., a Delaware corporation (the “Company”), do hereby certify, to the best of such officers’ knowledge and belief, that:

 

(1)    The Annual Report on Form 10-K for the year ended December 31, 2022, (the “Form 10-K”) of the Company fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

 

(2)    The information contained in the Form 10-K fairly presents, in all materials respects, the financial condition and results of operations of the Company.

 

March 16, 2023

 

/s/  R. Jeffrey Bailly

Date  

 

R. Jeffrey Bailly

Chairman, Chief Executive Officer, President, and Director

(Principal Executive Officer)

 

March 16, 2023

 

/s/  Ronald J. Lataille

Date  

 

Ronald J. Lataille

Chief Financial Officer

(Principal Financial Officer)

 

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

 

 
EX-101.SCH 10 ufpt-20221231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Income link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Stockholders' Equity link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Cash Flows link:calculationLink link:definitionLink link:presentationLink 006 - Disclosure - Note 1 - Summary of Significant Accounting Policies link:calculationLink link:definitionLink link:presentationLink 007 - Disclosure - Note 2 - Acquisitions and Divestiture link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 3 - Revenue Recognition link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 4 - Supplemental Cash Flow Information link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 6 - Inventories link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 7 - Goodwill and Other Intangible Assets link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 8 - Property, Plant and Equipment link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 9 - Debt link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 10 - Accrued Expenses link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 11 - Income Tax link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 12 - Net Income Per Share link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 13 - Share-based Compensation link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 14 - Leases link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 15 - Other Long-term Liabilities link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 16 - Commitments and Contingencies link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 17 - Employee Benefit Plans link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 18 - Fair Value of Financial Instruments link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Note 19 - Segment Reporting link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Schedule II - Valuation and Qualifying Accounts link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Significant Accounting Policies (Policies) link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Tables) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 2 - Acquisitions and Divestiture (Tables) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 3 - Revenue Recognition (Tables) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 4 - Supplemental Cash Flow Information (Tables) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses (Tables) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 6 - Inventories (Tables) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 8 - Property, Plant and Equipment (Tables) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 9 - Debt (Tables) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 10 - Accrued Expenses (Tables) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 11 - Income Tax (Tables) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 12 - Net Income Per Share (Tables) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 13 - Share-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 14 - Leases (Tables) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Note 15 - Other Long-term Liabilities (Tables) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 18 - Fair Value of Financial Instruments (Tables) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 19 - Segment Reporting (Tables) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) (Tables) link:calculationLink link:definitionLink link:presentationLink 046 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) link:calculationLink link:definitionLink link:presentationLink 047 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 048 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details) link:calculationLink link:definitionLink link:presentationLink 049 - Disclosure - Note 2 - Acquisitions and Divestiture (Details Textual) link:calculationLink link:definitionLink link:presentationLink 050 - Disclosure - Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details) link:calculationLink link:definitionLink link:presentationLink 051 - Disclosure - Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details) link:calculationLink link:definitionLink link:presentationLink 052 - Disclosure - Note 3 - Revenue Recognition (Details Textual) link:calculationLink link:definitionLink link:presentationLink 053 - Disclosure - Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details) link:calculationLink link:definitionLink link:presentationLink 054 - Disclosure - Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 055 - Disclosure - Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) link:calculationLink link:definitionLink link:presentationLink 056 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details) link:calculationLink link:definitionLink link:presentationLink 057 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details) link:calculationLink link:definitionLink link:presentationLink 058 - Disclosure - Note 6 - Inventories - Summary of Inventory (Details) link:calculationLink link:definitionLink link:presentationLink 059 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Details Textual) link:calculationLink link:definitionLink link:presentationLink 060 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 061 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 062 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 063 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual) link:calculationLink link:definitionLink link:presentationLink 064 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details) link:calculationLink link:definitionLink link:presentationLink 065 - Disclosure - Note 9 - Debt (Details Textual) link:calculationLink link:definitionLink link:presentationLink 066 - Disclosure - Note 9 - Debt - Long-term Debt (Details) link:calculationLink link:definitionLink link:presentationLink 067 - Disclosure - Note 9 - Debt - Schedule of Maturity (Details) link:calculationLink link:definitionLink link:presentationLink 068 - Disclosure - Note 10 - Accrued Expenses - Accrued Expenses (Details) link:calculationLink link:definitionLink link:presentationLink 069 - Disclosure - Note 11 - Income Tax (Details Textual) link:calculationLink link:definitionLink link:presentationLink 070 - Disclosure - Note 11 - Income Tax - Income Tax Provision (Details) link:calculationLink link:definitionLink link:presentationLink 071 - Disclosure - Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 072 - Disclosure - Note 11 - Income Tax - Income Tax Rate Reconciliation (Details) link:calculationLink link:definitionLink link:presentationLink 073 - Disclosure - Note 12 - Net Income Per Share (Details Textual) link:calculationLink link:definitionLink link:presentationLink 074 - Disclosure - Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) link:calculationLink link:definitionLink link:presentationLink 075 - Disclosure - Note 13 - Share-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 076 - Disclosure - Note 13 - Share-based Compensation - Compensation Cost (Details) link:calculationLink link:definitionLink link:presentationLink 077 - Disclosure - Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details) link:calculationLink link:definitionLink link:presentationLink 078 - Disclosure - Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 079 - Disclosure - Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details) link:calculationLink link:definitionLink link:presentationLink 080 - Disclosure - Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 081 - Disclosure - Note 14 - Leases (Details Textual) link:calculationLink link:definitionLink link:presentationLink 082 - Disclosure - Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 083 - Disclosure - Note 14 - Leases - Lease Cost (Details) link:calculationLink link:definitionLink link:presentationLink 084 - Disclosure - Note 14 - Leases - Aggregate Future Lease Payments (Details) link:calculationLink link:definitionLink link:presentationLink 085 - Disclosure - Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 086 - Disclosure - Note 17 - Employee Benefit Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 087 - Disclosure - Note 18 - Fair Value of Financial Instruments (Details Textual) link:calculationLink link:definitionLink link:presentationLink 088 - Disclosure - Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 089 - Disclosure - Note 19 - Segment Reporting (Details Textual) link:calculationLink link:definitionLink link:presentationLink 090 - Disclosure - Note 19 - Segment Reporting - Net Sales by Market (Details) link:calculationLink link:definitionLink link:presentationLink 091 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) link:calculationLink link:definitionLink link:presentationLink 092 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 11 ufpt-20221231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 12 ufpt-20221231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 13 ufpt-20221231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information Finite-Lived Intangibles Expected dividends us-gaap_DerivativeNotionalAmount Derivative, Notional Amount us-gaap_DerivativeGainLossOnDerivativeNet Derivative, Gain (Loss) on Derivative, Net, Total Note To Financial Statement Details Textual Exercise price (in dollars per share) Significant Accounting Policies Note 1 - Summary of Significant Accounting Policies Note 2 - Acquisitions and Divestiture Risk-free interest rate Note 3 - Revenue Recognition Note 4 - Supplemental Cash Flow Information Note 5 - Receivables and Allowance for Credit Losses Note 6 - Inventories Note 7 - Goodwill and Other Intangible Assets Note 8 - Property, Plant and Equipment Accounts receivable Income Tax Disclosure [Text Block] Note 9 - Debt Other current assets Note 10 - Accrued Expenses Note 11 - Income Tax Note 12 - Net Income Per Share Inventory Current portion of contingent consideration Expected volatility Note 13 - Share-based Compensation us-gaap_LiabilitiesCurrent Total current liabilities Schedule of Maturities of Long-Term Debt [Table Text Block] Note 14 - Leases Schedule of Debt [Table Text Block] Note 15 - Other Long-term Liabilities Note 18 - Fair Value of Financial Instruments Note 19 - Segment Reporting Expected term (years) (Year) Note 20 - Quarterly Financial Information (Unaudited) Schedule II - Valuation and Qualifying Accounts Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details) us-gaap_BusinessCombinationConsiderationTransferred1 Total consideration Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details) Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details) Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details) Other liability Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details) Contingent liability (Earn-out) Business Combination, Consideration Transferred, Liabilities Incurred Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details) Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details) Share-Based Payment Arrangement, Option, Activity [Table Text Block] Note 6 - Inventories - Summary of Inventory (Details) Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details) Awarded, weighted average award date fair value (in dollars per share) Foreign currency translation adjustment us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired Business Acquisition, Percentage of Voting Interests Acquired Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details) Shares vested, weighted average award date fair value (in dollars per share) Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Forfeitures, weighted average award date fair value (in dollars per share) Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details) Note 9 - Debt - Long-term Debt (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Outstanding, weighted average award date fair value (in dollars per share) Outstanding, weighted average award date fair value (in dollars per share) Note 9 - Debt - Schedule of Maturity (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeitures, restricted stock units (in shares) us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic Basic (in dollars per share) Note 10 - Accrued Expenses - Accrued Expenses (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Outstanding, restricted stock units (in shares) Outstanding, restricted stock units (in shares) Note 11 - Income Tax - Income Tax Provision (Details) us-gaap_DerivativeTermOfContract Derivative, Term of Contract (Year) Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details) Note 11 - Income Tax - Income Tax Rate Reconciliation (Details) Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) Awarded, restricted stock units (in shares) Note 13 - Share-based Compensation - Compensation Cost (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Shares vested, restricted stock units (in shares) Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details) us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted Diluted (in dollars per share) Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details) Vested and expected to vest, weighted average remaining contractual life (Year) Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details) Current installments, net of long-term debt Current portion Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice Vested and expected to vest, weighted average exercise price (in dollars per share) Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details) Other comprehensive income: Note 14 - Leases - Lease Cost (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber Vested and expected to vest, shares under options (in shares) Note 14 - Leases - Aggregate Future Lease Payments (Details) Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details) Vested and expected to vest, aggregate intrinsic value Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice Exercisable, weighted average exercise price (in dollars per share) us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax Operating Income Note 19 - Segment Reporting - Net Sales by Market (Details) Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 Exercisable, weighted average remaining contractual life (Year) us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss Net Income us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual Schedule II - Valuation and Qualifying Accounts (Details) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 Exercisable, aggregate intrinsic value us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual Notes To Financial Statements us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount Business Acquisition, Goodwill, Expected Tax Deductible Amount Notes To Financial Statements [Abstract] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Business Acquisition, Pro Forma Information [Table Text Block] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber Exercisable, shares under options (in shares) us-gaap_BusinessAcquisitionsProFormaRevenue Sales Outstanding, weighted average remaining contractual life (Year) Outstanding, aggregate intrinsic value Weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice Outstanding, weighted average exercise price (in dollars per share) Outstanding, weighted average exercise price (in dollars per share) Deferred revenue Proceeds from sale of Molded Fiber Schedule of Goodwill [Table Text Block] us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice Granted (in dollars per share) us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice Granted, weighted average exercise price (in dollars per share) Accrued expenses Accrued expenses us-gaap_AccruedIncomeTaxesCurrent Income taxes payable Accounts payable us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) Outstanding, shares under options (in shares) Outstanding, shares under options (in shares) Revolving Credit Facility [Member] Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Capital additions accrued but not yet paid Credit Facility [Axis] Proceeds from sale of property, plant and equipment Credit Facility [Domain] Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] us-gaap_OtherAccruedLiabilitiesCurrent Other Compensation us-gaap_PolicyTextBlockAbstract Accounting Policies us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Additions to property, plant and equipment Weighted average common equivalent shares due to stock options and restricted stock units (in shares) Non-cash investing and financing activities: us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) Weighted average common shares outstanding: Noncompete Agreements [Member] Income taxes, net of refunds Current liabilities: Product [Member] us-gaap_Assets Total assets Cash paid for: Plan Name [Axis] Plan Name [Domain] Compensation and Employee Benefit Plans [Text Block] us-gaap_OperatingLeaseExpense Operating Lease, Expense us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Total us-gaap_SubleaseIncome Sublease Income Intellectual Property [Member] us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic Net income Customer Lists [Member] Mergers, Acquisitions and Dispositions Disclosures [Text Block] us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense Share-Based Payment Arrangement, Expense, Tax Benefit Deferred income taxes Share-Based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] us-gaap_ContractWithCustomerAssetNet Unbilled Receivables - beginning of period Unbilled Receivables - end of period Award Type [Domain] Award Type [Axis] Net income from consolidated operations Net income us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization Accumulated amortization us-gaap_FiniteLivedIntangibleAssetsNet Total us-gaap_IntangibleAssetsNetExcludingGoodwill Net balance Intangible assets, net Restricted Stock Units (RSUs) [Member] Gross amount Restricted Stock [Member] DAS opening balance sheet reclassification Foreign currency translation DAS working capital adjustment Acquired in business combinations (See Note 2) Finance lease right of use assets The amount of finance lease right of use assets, noncash. us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit Sale of Molded Fiber Commitments and Contingencies Disclosure [Text Block] us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment Accumulated depreciation and amortization Property, plant and equipment, net Net property, plant and equipment Goodwill Balance Balance Property, plant, and equipment Long-Term Debt, Type [Axis] Long-Term Debt, Type [Domain] The 2003 Incentive Plan [Member] Represents the reporting entity's "2003 Incentive Plan." ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice Shares Paid for Tax Withholding for Share Based Compensation Market Price (in dollars per share) For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the market price per share of shares used by the employees to repay the employer. Employee and Nonemployee Stock Option [Member] Contract that gives the holder the right, but not the obligation, either to purchase or to sell a certain number of shares of stock at a predetermined price for a specified period of time. Medical [Member] Information pertaining to the Medical group of major customers. Derivative Instrument [Axis] Derivative Contract [Domain] Consumer [Member] Information pertaining to the Consumer group of major customers. Cash flows from investing activities: Automotive [Member] Information pertaining to the Automotive group of major customers. Industrial [Member] Information pertaining to the Industrial group of major customers. Electronics [Member] Information pertaining to the Electronics group of major customers. Aerospace & Defense [Member] Information pertaining to the Aerospace & Defense group of major customers. Property, Plant and Equipment, Estimated Useful Lives [Table Text Block] Tabular disclosure of the estimated useful lives of property, plant and equipment held by the company. Earnings Per Share [Text Block] Other liabilities Excess tax benefits on equity awards Percentage 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 the tax benefit from equity-based compensation costs. Accrued expenses us-gaap_IncreaseDecreaseInAccruedLiabilities Increase (Decrease) in Accrued Liabilities, Total Line of Credit [Member] Income tax expense Total income tax provision Subsidiary Guarantors [Member] Related to the subsidiary guarantors granting the credit agreement to the company. Furniture, Fixtures, and Computers [Member] Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems. Schedule of Employee Service Share Based Compensation Allocation of Recognized Period Costs, By Award Type [Table Text Block] Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed. The amounts are aggregated by award type. Accounts payable us-gaap_IncreaseDecreaseInAccountsPayable ufpt_AggregateDeferredTaxLiabilitiesNoncurrent Net long-term deferred tax assets (liabilities) The amount, in aggregate, of the deferred tax liability attributable to taxable temporary differences, net of deferred tax asset attributable to deductible temporary differences and carryforwards net of valuation allowances Compensation programs Represents the amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs. Nonemployee Director Stock Incentive Plan [Member] Represents information pertaining to the Non-Employee Director Stock Incentive Plan of the entity. Schedule of Future Share-based Compensation Expense [Table Text Block] Tabular disclosure of the amount of future share-based compensation expense expected to be recorded in the succeeding fiscal years for equity securities granted. us-gaap_DefinedContributionPlanCostRecognized Defined Contribution Plan, Cost ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree 2025 Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the third fiscal year following the latest fiscal year. ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths 2023 Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the next fiscal year following the latest fiscal year. ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo 2024 Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the second fiscal year following the latest fiscal year. ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount Self-insured Health Insurance Program, Stop Loss Amount Represents the amount of the stop loss per insured person under the partially self-insured health insurance program. us-gaap_CashEquivalentsAtCarryingValue Cash Equivalents, at Carrying Value, Total Summary of Allowance for Doubtful Accounts and Revenue Adjustments [Table Text Block] Tabular disclosure of the allowance for doubtful accounts and revenue adjustments. Cash and cash equivalents us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities Increase (Decrease) in Other Noncurrent Liabilities Share-based compensation us-gaap_AllocatedShareBasedCompensationExpense Amendment Flag Comprehensive Income us-gaap_ComprehensiveIncomeNetOfTax Comprehensive income City Area Code Use of Estimates, Policy [Policy Text Block] us-gaap_GainLossOnSaleOfBusiness Gain (Loss) on Disposition of Business Gain on sale of Molded Fiber business New Accounting Pronouncements, Policy [Policy Text Block] Reclassification, Comparability Adjustment [Policy Text Block] us-gaap_TreasuryStockSharesAcquired Treasury Stock, Shares, Acquired (in shares) us-gaap_DebtInstrumentPeriodicPaymentPrincipal Debt Instrument, Periodic Payment, Principal us-gaap_GainLossOnSaleOfPropertyPlantEquipment (Gain) loss on sales of property, plant and equipment Deferred revenue us-gaap_IncreaseDecreaseInContractWithCustomerLiability us-gaap_SharesOutstanding Balance (in shares) Balance (in shares) Common stock, shares outstanding (in shares) us-gaap_IncreaseDecreaseInOtherOperatingAssets Other assets Current Fiscal Year End Date us-gaap_DebtInstrumentBasisSpreadOnVariableRate1 Debt Instrument, Basis Spread on Variable Rate us-gaap_DebtInstrumentInterestRateStatedPercentage Debt Instrument, Interest Rate, Stated Percentage Variable lease cost us-gaap_LeaseCost Total lease cost us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent Operating Lease Cost: Document Fiscal Period Focus Operating lease cost Document Fiscal Year Focus Consolidation, Policy [Policy Text Block] Short-term lease cost Lease, Cost [Table Text Block] ROU assets obtained in exchange for finance lease obligations us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability Document Period End Date Operating lease right of use assets us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1 Operating (Year) Entity File Number Entity Emerging Growth Company us-gaap_DebtInstrumentFaceAmount Debt Instrument, Face Amount Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] Entity Public Float Entity Filer Category Debt Instrument [Axis] Entity Current Reporting Status Debt Instrument, Name [Domain] Entity Voluntary Filers Acquisition costs Business Combination, Acquisition Related Costs Entity Well-known Seasoned Issuer Variable Rate [Domain] Prime Rate [Member] us-gaap_IncreaseDecreaseInIncomeTaxesReceivable Income taxes Variable Rate [Axis] us-gaap_ConcentrationRiskPercentage1 Concentration Risk, Percentage us-gaap_IncreaseDecreaseInAccountsReceivable Receivables, net Quarterly Financial Information [Text Block] Entity Tax Identification Number Entity Central Index Key us-gaap_DepreciationAndAmortization Depreciation, Depletion and Amortization, Nonproduction, Total Entity Registrant Name Exercise of stock options Term Loan [Member] Represents information relating to term loans. us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition Net share settlement of restricted stock units Entity [Domain] Customer Concentration Risk [Member] Legal Entity [Axis] Entity Address, Address Line One us-gaap_AmortizationOfIntangibleAssets Amortization of Intangible Assets Entity Address, City or Town Entity Address, Postal Zip Code Entity Address, State or Province Concentration Risk Type [Axis] Concentration Risk Type [Domain] us-gaap_TreasuryStockValue Treasury stock at cost, 29,559 shares at December 31, 2022 and 2021 us-gaap_AllowanceForDoubtfulAccountsReceivable Allowance - beginning of period Allowance - end of period Entity Common Stock, Shares Outstanding Revenue Benchmark [Member] Accounts Receivable [Member] us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Local Phone Number Exercise of stock options (in shares) Exercised, shares under options (in shares) us-gaap_TableTextBlock Notes Tables us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity Line of Credit Facility, Maximum Borrowing Capacity Share-based compensation (in shares) Selling, general, and administrative expenses Provision for expected credit losses Share-based compensation us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares) Line of Credit Facility, Lender [Domain] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Raw materials Lender Name [Axis] us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and stockholders' equity Finished goods Work in process us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent Disposal Group, Including Discontinued Operation, Assets, Noncurrent, Total us-gaap_ResearchAndDevelopmentExpense Research and Development Expense, Total Retained earnings Accumulated other comprehensive loss Debt Disclosure [Text Block] Interest expense, net Changes in operating assets and liabilities: us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Inventory Disclosure [Text Block] us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent Assets for Plan Benefits, Defined Benefit Plan Operating lease liabilities - long-term Schedule of Inventory, Current [Table Text Block] Deferred income taxes us-gaap_DeferredIncomeTaxesAndTaxCredits Present value of lease liabilities, operating Operating lease liabilities - current Finance lease liabilities - current Finance lease liabilities - long-term Operating lease ROU assets Engineering and Development [Member] Represents the information pertaining to engineering and development. us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue Total lease payments, operating Tooling and Machinery [Member] Represents information pertaining to tooling and machinery. Financing cash flows from finance leases Principal payments on finance lease obligations us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount Less: Interest, operating Present value of lease liabilities, finance us-gaap_DeferredIncomeTaxExpenseBenefit Total Deferred Thereafter us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree 2025, operating us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour 2026, operating Finance lease ROU assets us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive 2027, operating us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive Thereafter, operating Fair Value Measurement, Policy [Policy Text Block] 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo Fair Value of Financial Instruments, Policy [Policy Text Block] 2025 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree Increases due to consideration received from customers Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received. 2026 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths 2023, operating 2027 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo 2024, operating Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Segment Reporting, Policy [Policy Text Block] 2023 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths Foreign Currency Transactions and Translations Policy [Policy Text Block] ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities Accrued expenses Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date. Other assets Share-based compensation us-gaap_ShareBasedCompensation Weighted-average useful life (Year) Finite-Lived Intangible Asset, Useful Life (Year) Income Tax, Policy [Policy Text Block] Schedule of Finite-Lived Intangible Assets [Table Text Block] Finance lease liabilities Amount of increase or decrease in Finance lease liability. Deferred Revenue [Member] Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable. Research and Development Expense, Policy [Policy Text Block] Advant Medical [Member] Represents information related to Advant Medicaal, Inc.. Depreciation and amortization us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares) Net share settlement of restricted stock units (in shares) Shipping and Handling Costs [Policy Text Block] Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs. Intangible Assets Disclosure [Text Block] us-gaap_AssetsCurrent Total current assets Share-Based Payment Arrangement [Policy Text Block] Lessee, Operating and Finance Leases [Text Block] The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of operating and finance leases and maturity analysis of operating and finance lease liabilities. Increases due to revenue recognized, not invoiced to customers Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, from unbilled revenue recognized. ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesIncomeTax Income taxes Amount of liabilities incurred for income taxes assumed at the acquisition date. ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredTaxes Deferred taxes Amount of deferred taxes assumed at the acquisition date. Change in fair value of contingent consideration Change in fair value of contingent consideration Treasury stock, shares (in shares) ufpt_BusinessCombinationWorkingCapitalAdjustment Business Combination, Working Capital Adjustment Working capital adjustment The amount of working capital adjustment from a business acquisition. Common stock, $.01 par value, 20,000,000 shares authorized; 7,611,244 and 7,581,685 shares issued and outstanding, respectively at December 31, 2022; and 7,564,645 and 7,535,086 shares issued and outstanding, respectively, at December 31, 2021 Adjustments to reconcile net income to net cash provided by operating activities: Measurement Frequency [Axis] Measurement Frequency [Domain] Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) Revenue from Contract with Customer [Policy Text Block] Lessee, Operating and Finance Leases, Liability, Maturity [Table Text Block] Tabular disclosure of undiscounted cash flows of lessee's operating and finance lease liabilities. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liabilities recognized in statement of financial position. Revision of Prior Period [Axis] Revision of Prior Period [Domain] us-gaap_DeferredTaxAssetsValuationAllowance Deferred Tax Assets, Valuation Allowance Valuation allowance us-gaap_CommonStockCapitalSharesReservedForFutureIssuance Common Stock, Capital Shares Reserved for Future Issuance (in shares) Statistical Measurement [Domain] Operating cash flows from operating leases Maximum [Member] Minimum [Member] Long-Lived Assets [Member] Represents long-lived assets. Total identifiable assets Total identifiable assets Amount of assets acquired, including goodwill at the acquisition date. Right of use assets Total ROU assets Represents the amount of of right-of-use asset from assets under operating and finance leases. Lease liabilities Total lease liabilities - current Present value of lessee's discounted obligation for lease payments from operating and finance leases, classified as current. Product and Service [Axis] ufpt_OperatingAndFinanceLeasesLiabilityNoncurrent Lease liabilities Total lease liabilities - long-term Present value of lessee's discounted obligation for lease payments from operating and finance leases, classified as noncurrent. Product and Service [Domain] us-gaap_DeferredTaxAssetsNet Net deferred tax assets Percentage of concentration risk The percentage of revenue, including tax collected from customer, from satisfaction of performance obligation by transferring promised good or service to customer. Statistical Measurement [Axis] Leases, Right-of-Use Assets and Liabilities [Table Text block] Tabular disclosure of the assets and liabilities of operating and finance leases. Schedule of Cash Flow, Supplemental Disclosures [Table Text Block] Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued Current portion of present value of non-competition payments Amount of obligation incurred for non-competition agreement payment, classified as current. Preferred stock, shares issued (in shares) Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Interest Cash Flow, Supplemental Disclosures [Text Block] Prepaid expenses us-gaap_DeferredTaxAssetsOther Other Property, Plant and Equipment Disclosure [Text Block] Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block] us-gaap_DeferredTaxAssetsGross Deferred Tax Assets, Gross, Total Gross deferred tax assets Property, Plant and Equipment [Table Text Block] Preferred stock, shares authorized (in shares) Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] us-gaap_DeferredIncomeTaxLiabilities Total deferred tax liabilities Inventories Total Inventory Preferred stock, par value (in dollars per share) Net sales Net sales Fair Value, Inputs, Level 3 [Member] Deferred revenue us-gaap_DeferredTaxAssetsDeferredIncome Fair Value Hierarchy and NAV [Domain] Customer [Axis] Inventory capitalization Customer [Domain] Intangible assets us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets Fair Value, Inputs, Level 2 [Member] Fair Value Hierarchy and NAV [Axis] Reserves us-gaap_ReceivablesNetCurrent Receivables, net Buildings and improvements (years) (Year) us-gaap_PropertyPlantAndEquipmentUsefulLife Revision of Prior Period, Reclassification, Adjustment [Member] Construction in Progress [Member] Cash flows from operating activities: Statement [Line Items] Accounts receivable–trade us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent Less allowance for credit losses us-gaap_NumberOfOperatingSegments Number of Operating Segments Receivables, net us-gaap_NumberOfReportableSegments Number of Reportable Segments Additional paid-in capital Equity-based compensation Building and Building Improvements [Member] Lease Liabilities, Current [Member] Primary financial statement caption encompassing current lease liabilities. us-gaap_DeferredCompensationPlanAssets Non-qualified deferred compensation plan ufpt_NumberOfMajorCustomers Number of Major Customers Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. Lease Liabilities, Noncurrent [Member] Primary financial statement caption encompassing lease liabilities, noncurrent. molded fiber business (“MFT”) and related real estate in Iowa [Member] Represents molded fiber business (“MFT”) and related real estate in Iowa. Land and Land Improvements [Member] Right of Use Assets [Member] Primary financial statement caption encompassing operating and finance leases, right of use assets. AOCI Attributable to Parent [Member] Stockholders’ equity: Leasehold Improvements [Member] Property, Plant and Equipment, Policy [Policy Text Block] us-gaap_OtherNonoperatingIncomeExpense Other (income) expense Long-Lived Tangible Asset [Axis] Segment Reporting Disclosure [Text Block] Long-Lived Tangible Asset [Domain] Current assets: Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents at beginning of year Cash and cash equivalents at end of year us-gaap_ContractWithCustomerAssetReclassifiedToReceivable Decreases due to customer invoicing Inventory, Policy [Policy Text Block] Effect of foreign currency exchange rates on cash and cash equivalents us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Net change in cash and cash equivalents us-gaap_Liabilities Total liabilities us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash (used in) provided by financing activities Commitments and contingencies (Note 16) ufpt_AccountsReceivableAllowanceForCreditLossSaleOfBusiness Decrease due to sale of Molded Fiber business Represents amount of decrease from the sale of business. Accrued customer rebates Represents accrued customer rebates. us-gaap_OperatingIncomeLoss Operating income us-gaap_ContractWithCustomerLiabilityRevenueRecognized Contract with Customer, Liability, Revenue Recognized us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by operating activities us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash provided by (used in) investing activities Acquired in business combinations us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill Goodwill us-gaap_GrossProfit Gross profit Gross profit Cost of sales us-gaap_DeferredIncomeTaxLiabilitiesNet Deferred income taxes us-gaap_ContractWithCustomerLiability Deferred revenue Deferred revenue ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationAverageMarketPrice Shares Paid For Tax Withholding For Share Based Compensation, Average Market Price (in dollars per share) For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the average price per share of shares the employees use to repay the employer. us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities Payment of contingent consideration us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Payment of statutory withholding for restricted stock units vested us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment Excess of book over tax basis of fixed assets us-gaap_LettersOfCreditOutstandingAmount Letters of Credit Outstanding, Amount Other Liabilities Disclosure [Text Block] Decrease due to sale of Molded Fiber Amount of decrease due to sale of business Geographic Distribution, Foreign [Member] Scenario [Domain] Geographic Distribution [Axis] Geographic Distribution [Domain] Retained Earnings [Member] Proceeds from the exercise of stock options Proceeds from Stock Options Exercised State us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit State Treasury Stock [Member] Scenario [Axis] us-gaap_CurrentForeignTaxExpenseBenefit Foreign Foreign us-gaap_DeferredForeignIncomeTaxExpenseBenefit Additional Paid-in Capital [Member] Common Stock [Member] Federal us-gaap_DeferredFederalIncomeTaxExpenseBenefit Federal Equity Components [Axis] Equity Component [Domain] Total long-term debt Long-Term Debt, Total Long-Term Debt, Total us-gaap_CurrentIncomeTaxExpenseBenefit Total Current Other Current Liabilities [Member] GILTI impact Foreign us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income tax provision Domestic Accounts Receivable, Allowance for Credit Loss [Table Text Block] ICFR Auditor Attestation Flag Income Tax Authority [Axis] Income Tax Authority [Domain] Disaggregation of Revenue [Table Text Block] Domestic Tax Authority [Member] Foreign Tax Authority [Member] us-gaap_RepaymentsOfLongTermDebt Principal repayment of long-term debt ufpt_DeferredTaxLiabilitiesRightOfUseAsset Right of use asset Amount of deferred tax consequences attributable to taxable temporary differences derived from right of use asset. Lease liability Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from lease liability. Revenue from Contract with Customer [Text Block] Document Annual Report Accounts Receivable [Policy Text Block] Machinery and Equipment [Member] Cash and Cash Equivalents, Policy [Policy Text Block] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Entity Incorporation, State or Country Code us-gaap_UnrecognizedTaxBenefits Unrecognized Tax Benefits, Ending Balance Accounting Policies [Abstract] Significant Accounting Policies [Text Block] us-gaap_OpenTaxYear Open Tax Year Document Transition Report Selling, General and Administrative Expenses [Member] Entity Interactive Data Current Other Nonoperating Income (Expense) [Member] Security Exchange Name Title of 12(b) Security us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs Amounts written off against the allowance, net of recoveries Proceeds from the issuance of long-term debt Contech Medical, Inc [Member] Represents Contech Medical, Inc. Sale of Molded Fiber business us-gaap_ValuationAllowancesAndReservesBalance Balance at beginning of year Balance at end of year ufpt_ContractWithCustomerLiabilityRevenueRecognizedDuringPeriod Revenue recognized Amount of revenue recognized during period including amounts previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.) us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense Provision for bad debt Income Statement Location [Axis] Income Statement Location [Domain] us-gaap_ValuationAllowancesAndReservesDeductions Write-offs, net of recoveries Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Auditor Name Auditor Firm ID Auditor Location DAS Medical [Member] Represents DAS Medical. Goodwill Agreement [Member] Represents Goodwill Agreement. us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) Non-Competition Agreements [Member] Represents non-competition agreement. us-gaap_RepaymentsOfLinesOfCredit Payments on revolving line of credit us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding Diluted weighted average common shares outstanding during the year (in shares) Diluted (in shares) Scenario, Adjustment [Member] Proceeds from advances on revolving line of credit Customer Contracts and Relationships [Member] Represents customer contracts and relationships. ufpt_BusinessCombinationAgreementTerm Business Combination, Agreement Term (Year) Represents agreement term for business combination. Asset Class [Axis] SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] Asset Class [Domain] Statement [Table] Statement of Financial Position [Abstract] Diluted (in dollars per share) Diluted net income per share (in dollars per share) Secured Term Loan [Member] Represents secured term loan. Excess compensation Basic weighted average common shares outstanding during the year (in shares) Basic (in shares) Accounts Payable and Accrued Liabilities Disclosure [Text Block] Secured Revolving Credit Facility [Member] Represents secured revolving credit facility. us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments Other Bloomberg Short-term Bank Yield Index Rate [Member] Represents Bloomberg Short-term Bank Yield Index Rate. us-gaap_EffectiveIncomeTaxRateContinuingOperations Effective tax rate ufpt_NoncompetitionAgreementPaymentLiabilityNoncurrent Present value of non-competition payments Amount of obligation incurred for non-competition agreement payment, classified as noncurrent. Business Acquisition [Axis] Basic (in dollars per share) Basic net income per share (in dollars per share) Other ufpt_OtherLiabilitiesNoncurrentOther Amount of other noncurrent liabilities, classified as other. Business Acquisition, Acquiree [Domain] Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Return to provision adjustments Percentage 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 return to provision adjustments. Stockholders Equity, Treasury Stock [Policy Text Block] Disclosure of accounting policy for its treasury stock transactions. Second Amended and Restated Credit Agreement [Member] Represents second amended and restated credit agreement. us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance Change in valuation allowance us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue Disposal Group, Including Discontinued Operation, Revenue Statement of Cash Flows [Abstract] Accrued contingent consideration The amount of debt that contingent consideration liability assumes in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition. us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High Statement of Stockholders' Equity [Abstract] us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration Disposal Group, Including Discontinued Operation, Consideration Income Statement [Abstract] Other comprehensive loss Other comprehensive loss Contech Medical, Inc and DAS Medical [Member] Represents Contech Medical, Inc and DAS Medical. 2025 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree Common Stock Outstanding [Member] Represents common stock outstanding. Present value of non-competition payments Present value of non-competition payments Present Value of Non-competition Agreement Present value of non-competition agreement. 2026 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour Disposal Group Name [Axis] Disposal Group Name [Domain] Accrued contingent consideration (earn-out) us-gaap_BusinessCombinationContingentConsiderationLiability Business Combination, Contingent Consideration, Liability, Total Schedule of Accrued Liabilities [Table Text Block] Operating lease liabilities Amount of increase or decrease in operating lease liability. Non-compete agreements Amount of liabilities incurred about non-compete agreement by the acquirer as part of consideration transferred in a business combination. 2023 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths Lease right of use assets Amount of lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date. 2024 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo Other Noncurrent Liabilities [Table Text Block] Quarterly Financial Information [Table Text Block] Interest on lease liabilities us-gaap_FinanceLeaseLiabilityPaymentsDue Total lease payments, finance Amortization of right of use assets us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive 2027, finance Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive Thereafter, finance Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount Less: Interest, finance us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths 2023, finance us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo 2024, finance us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree 2025, finance us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour 2026, finance Meals and entertainment us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent Finance us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits Tax credits State taxes, net of federal tax benefit Accrued contingent consideration (earn-out) Foreign rate differential Fair Value, Assets Measured on Recurring Basis [Table Text Block] us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1 Finance (Year) Cash flows from financing activities: U.S. federal statutory rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Other liabilities us-gaap_OtherLiabilitiesNoncurrent Other Liabilities, Noncurrent One Customer [Member] information pertaining to one customer. Intellectual Property/ Tradename and Brand [Member] Represents intellectual property/tradename and brand. us-gaap_DerivativeFairValueOfDerivativeNet Derivative, Fair Value, Net, Total Derivative financial instruments Non-qualified deferred compensation plan Deferred Compensation Liability, Classified, Noncurrent, Total Net assets acquired us-gaap_StockholdersEquity Total stockholders' equity Balance Balance us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired Payments to Acquire Businesses, Net of Cash Acquired, Total Acquisitions, net of cash acquired us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation Lease liabilities Class of Stock [Axis] us-gaap_CashAcquiredFromAcquisition Cash from Advant Long-term debt, excluding current portion Long-term debt, excluding current installments us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue Deferred revenue Cash paid at closing Payments to Acquire Businesses, Gross Interest Rate Swap [Member] Schedule of Weighted Average Number of Shares [Table Text Block] us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable Accounts payable ufpt_DisposalGroupIncludingDiscontinuedOperationConsiderationHeldInEscrow Disposal Group, Including Discontinued Operation, Consideration, Held in Escrow The amount of consideration for disposal group including discontinued operation held in escrow. us-gaap_DerivativeFixedInterestRate Derivative, Fixed Interest Rate us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment Property, plant, and equipment Other assets us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets EX-101.PRE 14 ufpt-20221231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 15 R1.htm IDEA: XBRL DOCUMENT v3.22.4
Document And Entity Information - USD ($)
12 Months Ended
Dec. 31, 2022
Mar. 10, 2023
Jun. 30, 2022
Document Information [Line Items]      
Entity Central Index Key 0000914156    
Entity Registrant Name UFP TECHNOLOGIES INC    
Amendment Flag false    
Current Fiscal Year End Date --12-31    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2022    
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2022    
Document Transition Report false    
Entity File Number 001-12648    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 04-2314970    
Entity Address, Address Line One 100 Hale Street    
Entity Address, City or Town Newburyport    
Entity Address, State or Province MA    
Entity Address, Postal Zip Code 01950-3504    
City Area Code 978    
Local Phone Number 352-2200    
Title of 12(b) Security Common Stock    
Trading Symbol UFPT    
Security Exchange Name NASDAQ    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Accelerated Filer    
Entity Small Business false    
Entity Emerging Growth Company false    
ICFR Auditor Attestation Flag false    
Entity Shell Company false    
Entity Public Float     $ 552,925,326
Entity Common Stock, Shares Outstanding   7,610,051  
Auditor Firm ID 248    
Auditor Name GRANT THORNTON LLP    
Auditor Location Boston, Massachusetts    
XML 16 R2.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Current assets:    
Cash and cash equivalents $ 4,451 $ 11,117
Receivables, net 55,117 39,384
Inventories 53,536 33,436
Prepaid expenses 3,242 3,383
Total current assets 116,346 87,320
Property, plant and equipment, net 58,072 56,569
Goodwill 113,028 107,905
Intangible assets, net 68,361 67,585
Non-qualified deferred compensation plan 4,148 4,327
Right of use assets 13,153 9,324
Deferred income taxes 1,448 0
Other assets 3,636 1,102
Total assets 378,192 334,132
Current liabilities:    
Accounts payable 19,961 10,611
Accrued expenses 23,122 16,777
Deferred revenue 4,679 4,247
Lease liabilities 2,517 2,239
Income taxes payable 1,682 909
Current installments, net of long-term debt 4,000 4,000
Total current liabilities 55,961 38,783
Long-term debt, excluding current installments 51,000 71,000
Deferred income taxes 448 3,263
Non-qualified deferred compensation plan 4,167 4,337
Lease liabilities 10,851 7,118
Other liabilities 18,220 15,185
Total liabilities 140,647 139,686
Commitments and contingencies (Note 16)
Stockholders’ equity:    
Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued 0 0
Common stock, $.01 par value, 20,000,000 shares authorized; 7,611,244 and 7,581,685 shares issued and outstanding, respectively at December 31, 2022; and 7,564,645 and 7,535,086 shares issued and outstanding, respectively, at December 31, 2021 76 75
Additional paid-in capital 36,070 34,151
Retained earnings 202,596 160,807
Accumulated other comprehensive loss (610) 0
Treasury stock at cost, 29,559 shares at December 31, 2022 and 2021 (587) (587)
Total stockholders' equity 237,545 194,446
Total liabilities and stockholders' equity $ 378,192 $ 334,132
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Balance Sheets (Parentheticals) - $ / shares
Dec. 31, 2022
Dec. 31, 2021
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 1,000,000 1,000,000
Preferred stock, shares issued (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 20,000,000 20,000,000
Common stock, shares issued (in shares) 7,611,244 7,564,645
Common stock, shares outstanding (in shares) 7,581,685 7,535,086
Treasury stock, shares (in shares) 29,559 29,559
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Income - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Net sales $ 353,792 $ 206,320 $ 179,373
Cost of sales 263,532 155,206 134,689
Gross profit 90,260 51,114 44,684
Selling, general, and administrative expenses 45,796 29,480 27,493
Acquisition costs 1,027 430 0
Change in fair value of contingent consideration (9,837) 0 0
Gain on sale of Molded Fiber business (15,651) 0 0
(Gain) loss on sales of property, plant and equipment (6,149) (14) 459
Operating income 55,400 21,218 16,732
Interest expense, net 2,763 39 83
Other (income) expense (81) (26) 366
Income before income tax provision 52,718 21,205 16,283
Income tax expense 10,929 5,319 2,914
Net income $ 41,789 $ 15,886 $ 13,369
Basic (in dollars per share) $ 5.52 $ 2.11 $ 1.79
Diluted (in dollars per share) $ 5.45 $ 2.09 $ 1.77
Weighted average common shares outstanding:      
Basic (in shares) 7,564 7,524 7,484
Diluted (in shares) 7,663 7,615 7,568
Comprehensive Income      
Net income from consolidated operations $ 41,789 $ 15,886 $ 13,369
Other comprehensive income:      
Foreign currency translation adjustment (610) 0 0
Other comprehensive loss (610) 0 0
Comprehensive income $ 41,179 $ 15,886 $ 13,369
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Stockholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Common Stock Outstanding [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Treasury Stock [Member]
Total
Balance (in shares) at Dec. 31, 2019 7,446       30  
Balance at Dec. 31, 2019 $ 74 $ 30,952 $ 131,552 $ 0 $ (587) $ 161,991
Share-based compensation (in shares) 43       0  
Share-based compensation $ 1 1,806 0 0 $ 0 1,807
Exercise of stock options (in shares) 26       0  
Exercise of stock options $ 0 474 0 0 $ 0 474
Net share settlement of restricted stock units (in shares) (15)          
Net share settlement of restricted stock units $ 0 (748) 0 0 0 (748)
Net income from consolidated operations $ 0 0 13,369   $ 0 13,369
Other comprehensive loss           0
Balance (in shares) at Dec. 31, 2020 7,500       30  
Balance at Dec. 31, 2020 $ 75 32,484 144,921 0 $ (587) 176,893
Share-based compensation (in shares) 45       0  
Share-based compensation $ 0 2,428 0 0 $ 0 2,428
Exercise of stock options (in shares) 7          
Exercise of stock options $ 0 162 0 0 0 162
Net share settlement of restricted stock units (in shares) (17)          
Net share settlement of restricted stock units $ 0 (923) 0 0 0 (923)
Net income from consolidated operations $ 0 15,886   $ 0 15,886
Other comprehensive loss           0
Balance (in shares) at Dec. 31, 2021 7,535       30  
Balance at Dec. 31, 2021 $ 75 34,151 160,807 0 $ (587) 194,446
Share-based compensation (in shares) 53       0  
Share-based compensation $ 1 3,207 0 0 $ 0 3,208
Exercise of stock options (in shares) 17          
Exercise of stock options $ 0 390 0 0 $ 0 390
Net share settlement of restricted stock units (in shares) (23)       0  
Net share settlement of restricted stock units $ 0 (1,678) 0 0 $ 0 (1,678)
Net income from consolidated operations 0 0 41,789   0 41,789
Other comprehensive loss $ 0 0 0 (610) $ 0 (610)
Balance (in shares) at Dec. 31, 2022 7,582       30  
Balance at Dec. 31, 2022 $ 76 $ 36,070 $ 202,596 $ (610) $ (587) $ 237,545
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Cash flows from operating activities:      
Net income from consolidated operations $ 41,789 $ 15,886 $ 13,369
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation and amortization 11,886 8,410 8,268
(Gain) loss on sales of property, plant and equipment (6,149) (14) 459
Gain on sale of Molded Fiber business (15,651) 0 0
Share-based compensation 3,208 2,428 1,807
Change in fair value of contingent consideration 9,837 0 0
Deferred income taxes (4,710) (1,794) 136
Changes in operating assets and liabilities:      
Receivables, net (16,864) (7,754) 2,220
Inventories (19,605) (4,496) (366)
Prepaid expenses (692) (557) (256)
Income taxes 953 893 295
Other assets (3,545) (681) (73)
Accounts payable 9,131 102 (681)
Accrued expenses 10,446 1,009 (537)
Deferred revenue 1,008 2,294 (687)
Other liabilities (3,298) (1,433) 1,083
Net cash provided by operating activities 17,744 14,293 25,037
Cash flows from investing activities:      
Additions to property, plant and equipment (13,780) (5,395) (4,368)
Acquisitions, net of cash acquired (20,653) (96,178) 0
Proceeds from sale of Molded Fiber 29,007 0 0
Proceeds from sale of property, plant and equipment 6,717 114 107
Net cash provided by (used in) investing activities 1,291 (101,459) (4,261)
Cash flows from financing activities:      
Proceeds from advances on revolving line of credit 44,000 34,839 5,500
Payments on revolving line of credit (60,000) 0 (5,500)
Proceeds from the issuance of long-term debt 0 40,000 0
Principal repayment of long-term debt (4,000) 0 0
Payment of contingent consideration (4,543) 0 0
Principal payments on finance lease obligations (63) (29) (11)
Proceeds from the exercise of stock options 390 162 474
Payment of statutory withholding for restricted stock units vested (1,678) (923) (748)
Net cash (used in) provided by financing activities (25,894) 74,049 (285)
Effect of foreign currency exchange rates on cash and cash equivalents 193 0 0
Net change in cash and cash equivalents (6,666) (13,117) 20,491
Cash and cash equivalents at beginning of year 11,117 24,234 3,743
Cash and cash equivalents at end of year $ 4,451 $ 11,117 $ 24,234
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.22.4
Note 1 - Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

(1)

Summary of Significant Accounting Policies

 

UFP Technologies, Inc. (“the Company”) is a design, engineering, and custom manufacturer of comprehensive solutions for medical devices, sterile packaging, and other highly engineered custom products. The Company is an important link in the medical device supply chain and a valued outsource partner to many of the top medical device manufacturers in the world. The Company’s single-use and single-patient devices and components are used in a wide range of medical devices and packaging for minimally invasive surgery, infection prevention, wound care, wearables, orthopedic soft goods, and orthopedic implants.

 

The Company is diversified by also providing highly engineered products and components to customers in the automotive, aerospace and defense, consumer, electronics, and industrial markets. Typical applications of its products include military uniform and gear components, automotive interior trim, athletic padding, air filtration, abrasive nail files, and protective cases and inserts.

 

(a)    Principles of Consolidation

 

The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (partial year; entity was sold in July 2022), Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. The Company consists of a single operating and reportable segment. The Company has evaluated all subsequent events through the date of this filing.

 

(b)    Use of Estimates

 

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and the fair value of goodwill, and the fair value of intangible assets, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

(c)    Fair Value Measurement

 

The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.

 

(d)    Fair Value of Financial Instruments

 

Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the Company’s current incremental borrowing rate.

 

(e)    Cash and Cash Equivalents

 

The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents. At December 31, 2022 and 2021, the Company did not have any cash equivalents.

 

The Company maintains its cash in bank deposit accounts that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does not believe it is exposed to any significant custodial credit risk on cash.

 

(f)     Accounts Receivable

 

The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management’s judgment. Conditions impacting the realizability of the Company’s receivables could cause actual asset write-offs to be materially different than the reserved balances as of December 31, 2022.

 

(g)    Inventories

 

Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the first-in, first-out (“FIFO”) method.

 

The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management’s judgment. Conditions impacting the realizability of the Company’s inventory could cause actual asset write-offs to be materially different than the Company’s current estimates as of December 31, 2022.

 

(h)    Property, Plant, and Equipment

 

Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.

 

Estimated useful lives of property, plant, and equipment are as follows:

 

Leasehold improvements

Shorter of estimated useful life
or remaining lease term

Buildings and improvements (years)

20 -30

Machinery and equipment (years)

7 – 15

Furniture, fixtures, computers & software (years)

3 – 7

 

Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset’s carrying value over its fair value. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

(i)     Goodwill

 

Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount may be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are one level below the business segment level but can be combined when reporting units within the same segment have similar economic characteris‐tics. An impairment loss generally would be recognized when the carrying amount of the reporting unit’s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In performing the most recent “step 1” evaluation of goodwill impairment, the Company primarily utilized the guideline public company (“GPC”) method under the market approach and the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, one that a prudent investor would require before making an investment in our equity securities.

 

The Company changed its annual impairment testing date in 2021 to October 1 in order to allow for sufficient time to complete its analysis. As of our most recent step 1 evaluation on October 1, 2022, based on calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If the Company’s actual operating results and/or the key assumptions utilized in management’s calculations differ from our expectations, it is possible that a future impairment charge may be necessary.

 

(j)     Intangible Assets

 

Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values may not be recoverable. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

(k)    Revenue Recognition

 

The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does not transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.

 

(l)     Share-Based Compensation

 

When accounting for equity instruments exchanged for employee services, share-based compen‐sation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee’s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.

 

(m)   Shipping and Handling Costs

 

Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.

 

(n)    Income Taxes

 

The Company’s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carry‐forwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.

 

The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than not to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would not be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.

 

The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.

 

(o)    Segments and Related Information

 

The Company follows the provisions of Accounting Standards Codification (ASC) 280, Segment Reporting, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note 19).

 

(p)    Treasury Stock

 

The Company accounts for treasury stock under the cost method, using the first-in, first out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. The Company did not repurchase any shares of common stock during the years ended December 31, 2022, 2021 and 2020.

 

(q)    Research and Development

 

On a routine basis, the Company incurs costs related to research and development activity. These costs are expensed as incurred. Approximately $9.3 million, $8.5 million, and $8.2 million were expensed in the years ended December 31, 2022, 2021 and 2020, respectively.

 

(r)    Foreign Currency Translation

 

The Company translates all assets and liabilities of its foreign subsidiaries, where the U.S. dollar is not the functional currency, at the period-end exchange rate and translates income and expenses at the average exchange rates in effect during the period. The net effect of this translation is recorded in the consolidated financial statements as a component of Accumulated Other Comprehensive Income (AOCI). Translation adjustments are not adjusted for income taxes as they relate to permanent investments in the Company’s foreign subsidiaries.

 

Recent Accounting Pronouncements

 

There are no newly issued accounting pronouncements that the Company expects to have a material effect on the financial statements.

 

Revisions

 

Certain revisions have been made to the December 31, 2021 Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of other liabilities (long-term) to accrued expenses (current). The reclassification resulted in an increase in accrued expenses of $4.1 million and a decrease in other liabilities of $4.1 million. These revisions had no impact on previously reported earnings, net income or cash flows and are deemed immaterial to the previously issued financial statements.

XML 22 R8.htm IDEA: XBRL DOCUMENT v3.22.4
Note 2 - Acquisitions and Divestiture
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Mergers, Acquisitions and Dispositions Disclosures [Text Block]

(2)

Acquisitions and Divestiture

 

Molded Fiber

 

On July 26, 2022, pursuant to a share purchase agreement and related agreements, the Company sold its Moulded Fiber Technology, Inc. (“MFT”) and related real estate in Iowa to CKF USA INCORPORATED (“CKF”) (a Delaware Corporation) for approximately $31.5 million (including a working capital adjustment of approximately $0.1 million that decreased the total consideration). The net book value of the assets sold were approximately $15.4 million and the Company recorded a net gain on sale of approximately $15.7 million, which was recorded in the year ended December 31, 2022. $2.6 million of the purchase price is being held in escrow to indemnify CKF against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. MFT’s annual revenue was approximately $21.3 million for the year ended December 31, 2021. Proceeds from the sale were used to pay down debt on the Company’s revolving credit facility, as well as income tax obligations on the related gain.

 

Advant Medical

 

On March 16, 2022, the Company purchased 100% of the outstanding shares of common stock of Advant Medical, Ltd., Advant Medical Inc. and Advant Medical Costa Rica, Limitada, (together Advant), pursuant to a Stock Purchase Agreement and related agreements, for an aggregate purchase price of €19.0 million in cash along with a working capital adjustment at closing (total consideration in U.S. Dollars amounted to approximately $21.2 million). The purchase price was subject to additional adjustment based upon Advant’s final working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Stock Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.

 

Founded in 1993, Advant is headquartered in Galway, Ireland, with operations in Costa Rica and partner manufacturing in Mexico. Advant is a developer and manufacturer of Class I, II, and III medical devices and packaging, primarily for catheters and guide wires.

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

Fair value of considerations transferred

    

Cash paid at closing

 $23,608 

Other liability

  395 

Cash from Advant

  (2,840)

Total consideration

 $21,163 
     

Purchase price allocation

    

Accounts receivable

 $2,299 

Inventory

  2,410 

Other current assets

  213 

Property, plant, and equipment

  5,704 

Customer contracts & relationships

  2,925 

Intellectual property

  2,127 

Non-compete agreement

  259 

Lease right of use assets

  289 

Other assets

  41 

Goodwill

  7,140 

Total identifiable assets

 $23,407 

Accounts payable

  (772)

Accrued expenses

  (668)

Income taxes

  (66)

Deferred taxes

  (449)

Lease liabilities

  (289)

Net assets acquired

 $21,163 

 

Acquisition costs associated with the transaction were approximately $789 thousand, of which $759 thousand was charged to expense in the year ended December 31, 2022, and $30 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal, investment banking, and valuation services, as well as stamp duty filings and are reflected on the face of the income statement.

 

The amount of revenue and earnings of Advant recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2022, was approximately $20.0 million and $2.4 million, respectively.

 

Pro-forma statements

 

The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended December 31, 2022, and 2021, as if the Advant acquisition had occurred at the beginning of 2021 (in thousands):

 

  

Year Ended December 30,

 
  

2022

  

2021

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $358,196  $291,403 

Operating Income

 $56,321  $27,729 

Net Income

 $42,311  $21,805 

Earnings per share:

        

Basic

 $5.59  $2.90 

Diluted

 $5.52  $2.86 

 

The above unaudited pro forma information is presented for illustrative purposes only and may not be indicative of the results of operations that would have occurred had the acquisition occurred as presented. In addition, future results may vary significantly from the results reflected in such pro forma information.

 

DAS Medical

 

On December 22, 2021, the Company purchased 100% of the outstanding membership interests of DAS Medical Holdings, LLC, (DAS Medical) pursuant to a Securities Purchase Agreement, for a net purchase price of $66.7 million in cash. The purchase price was subject to adjustment based upon DAS Medical’s final working capital at closing, and the purchase price may be increased by up to $20.0 million in earn-out payments based upon the achievement of certain EBITDA and/or revenue targets of DAS Medical for the years ended December 31, 2022, 2023, 2024 and 2025. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. As a result of the final working capital adjustment, the total consideration was reduced by approximately $115 thousand.

 

In connection with its entry into the Purchase Agreement, the Company also entered into an Agreement for the Purchase and Sale of Personal Goodwill (the “Goodwill Agreement”) with the purchase price beneficiaries. Pursuant to the terms of the Goodwill Agreement, on December 22, 2021, the Company purchased from the beneficiaries their personal goodwill, including business relationships, trade secrets and knowledge in connection with DAS Medical’s business, for a purchase price of $20 million in cash.

 

The Company has also entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the ten years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners.

 

Founded in 2010, DAS Medical is headquartered in Atlanta, Georgia, with manufacturing in the Dominican Republic. DAS Medical is a medical device contract manufacturer specializing in the design, development and production of single-use surgical equipment covers, robotic draping systems and fluid control pouches.

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

Fair value of considerations transferred

    

Cash paid at closing

 $95,000 

Contingent liability (Earn-out)

  5,188 

Non-compete agreements

  8,855 

Cash from DAS

  (8,316)

Working capital adjustment

  (115)

Total consideration

 $100,612 
     

Purchase price allocation

    

Accounts receivable

 $2,351 

Inventory

  7,570 

Other current assets

  68 

Property, plant, and equipment

  3,314 

Customer contracts & relationships

  36,730 

Intellectual property

  2,380 

Non-compete agreement

  4,697 

Lease right of use assets

  1,221 

Goodwill

  51,742 

Total identifiable assets

 $110,073 

Accounts payable

  (5,238)

Accrued expenses

  (2,995)

Deferred revenue

  (7)

Lease liabilities

  (1,221)

Net assets acquired

 $100,612 

 

Acquisition costs associated with the transaction were approximately $448 thousand, of which $155 thousand was charged to expense in the year ended December 31, 2022, and $293 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal and valuation services and are reflected on the face of the income statement.

 

The amount of revenue and net income of DAS Medical recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2021, was approximately $1.4 million and $0.1 million, respectively.

 

Contech Medical

 

On October 12, 2021, the Company purchased 100% of the outstanding shares of common stock of Contech Medical, Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price of $9.5 million in cash, the assumption of a contingent liability of $0.5 million plus up to an additional $5 million based upon the achievement of certain EBITDA targets of Contech for the 12-month period ended June 30, 2022. The purchase price was subject to adjustment based upon Contech’s working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.

 

Founded in 1987, Contech is based in Providence, Rhode Island with partner manufacturing in Costa Rica. Contech is a global leader in the design, development, and manufacture of Class III medical device packaging primarily for catheters and guide wires. The Company has leased the Providence location from a realty trust owned by the selling shareholders and affiliates. The lease is for five years with one five-year renewal option.

 

The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):

 

Fair value of consideration transferred:

    

Cash paid at closing

 $9,766 

Contingent liability (Earn-out)

  4,543 

Other liability

  500 

Cash from Contech

  (266)

Total consideration

 $14,543 
     

Purchase Price Allocation:

    

Accounts receivable

 $2,851 

Inventory

  2,320 

Other current assets

  37 

Property, plant and equipment

  1,170 

Customer Contracts & Relationships

  3,043 

Intellectual Property

  2,247 

Non-Compete agreement

  86 

Lease right of use assets

  1,523 

Goodwill

  4,278 

Total identifiable assets

 $17,555 

Accounts payable

  (1,015)

Accrued expenses

  (414)

Deferred revenue

  (60)

Lease liabilities

  (1,523)

Net assets acquired

 $14,543 

 

Acquisition costs associated with the transaction were approximately $153 thousand, of which $113 thousand was charged to expense in the year ended December 31, 2022, and $40 thousand was charged to expense in the year ended December 31, 2021. These costs were primarily for legal and valuation services and are reflected on the face of the income statement.

 

The amount of revenue and net income of Contech recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended December 31, 2021, was approximately $4.5 million and $0.5 million, respectively.

 

The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended December 31, 2021, and 2020, as if both acquisitions had occurred at the beginning of 2020 (in thousands):

 

  

Year Ended December 31,

 
  

2021

  

2020

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $269,932  $235,328 

Operating Income

 $25,878  $22,617 

Net Income

 $20,562  $18,354 

Earnings per share:

        

Basic

 $2.73  $2.45 

Diluted

 $2.70  $2.43 

 

The above unaudited pro forma information is presented for illustrative purposes only and may not be indicative of the results of operations that would have occurred had both acquisitions occurred as presented. In addition, future results may vary significantly from the results reflected in such pro forma information.

XML 23 R9.htm IDEA: XBRL DOCUMENT v3.22.4
Note 3 - Revenue Recognition
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

(3)

Revenue Recognition

 

Disaggregated Revenue

 

The following table presents the Company’s revenue disaggregated by the major types of goods and services sold to our customers (in thousands) (See Note 19 for further information regarding net sales by market):

 

   

Years Ended December 31,

 
   

2022

   

2021

   

2020

 

Net sales of:

                       

Products

  $ 342,742     $ 201,248     $ 172,299  

Tooling and Machinery

    6,307       1,814       2,787  

Engineering services

    4,743       3,258       4,287  

Total net sales

  $ 353,792     $ 206,320     $ 179,373  

 

Contract balances

 

Timing of revenue recognition may differ from the timing of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities) included within “deferred revenue” on the condensed consolidated balance sheet.

 

The following table presents opening and closing balances of contract liabilities for the years ended December 31, 2022, and 2021 (in thousands):

 

   

Contract Liabilities

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Deferred revenue - beginning of period

  $ 4,247     $ 1,887  

Acquired in business combinations

    -       69  

Increases due to consideration received from customers

    6,337       4,007  

Revenue recognized

    (5,330 )     (1,716 )

Decrease due to sale of Molded Fiber

    (575 )     -  

Deferred revenue - end of period

  $ 4,679     $ 4,247  

 

Revenue recognized during the years ended December 31, 2022 and 2021 from amounts included in deferred revenue at the beginning of the period was approximately $2.2 million and $0.8 million, respectively.

 

When invoicing occurs after revenue recognition, the Company has unbilled receivables (contract assets) included within “receivables” on the condensed consolidated balance sheet.

 

The following table presents opening and closing balances of contract assets for the years ended December 31, 2022 and 2021 (in thousands):

 

   

Contract Assets

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Unbilled Receivables - beginning of period

  $ 74     $ 271  

Increases due to revenue recognized, not invoiced to customers

    3,653       1,815  

Decreases due to customer invoicing

    (3,457 )     (2,012 )

Unbilled Receivables - end of period

  $ 270     $ 74  

 

XML 24 R10.htm IDEA: XBRL DOCUMENT v3.22.4
Note 4 - Supplemental Cash Flow Information
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Cash Flow, Supplemental Disclosures [Text Block]

(4)

Supplemental Cash Flow Information

 

 

Years Ended December 31,

 
 

2022

 

2021

 

2020

 
       

(in thousands)

       

Cash paid for:

                 

Interest

$ 2,721   $ 53   $ 71  

Income taxes, net of refunds

  13,200     5,914     2,481  
                   

Non-cash investing and financing activities:

                 

Capital additions accrued but not yet paid

$ 125   $ 135   $ 225  

Accrued contingent consideration

  14,568     9,731     -  

Present value of non-competition payments

  10,043     9,477     -  

Finance lease right of use assets

  -     187     108  

Finance lease liabilities

  -     (187 )   (108 )

Operating lease right of use assets

  329     7,782     -  

Operating lease liabilities

  (329 )   (7,782 )   -  

 

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.22.4
Note 5 - Receivables and Allowance for Credit Losses
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Loans, Notes, Trade and Other Receivables Disclosure [Text Block]

(5)

Receivables and Allowance for Credit Losses

 

Receivables consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Accounts receivable–trade

  $ 55,850     $ 39,903  

Less allowance for credit losses

    (733 )     (519 )

Receivables, net

  $ 55,117     $ 39,384  

 

The Company is exposed to credit losses primarily through sales of products and services. The Company’s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' trade accounts receivables. Due to the short-term nature of such receivables, the estimate of the amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances and the financial condition of customers. Additionally, specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company’s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions. Balances are written-off when determined to be uncollectible. Estimates based on an assessment of anticipated payment and all other historical, current, and future information that is reasonably available are used to determine the allowance.

 

The following table provides a roll-forward of the allowance for credit losses that is deducted from accounts receivable to present the net amount expected to be collected for the years ended December 31, 2022 and 2021 (in thousands):

 

   

Allowance for Credit Losses

 
   

Year Ended December 31,

 
   

2022

   

2021

 

Allowance - beginning of period

  $ 519     $ 484  

Provision for expected credit losses

    293       179  

Amounts written off against the allowance, net of recoveries

    (40 )     (144 )

Decrease due to sale of Molded Fiber business

    (39 )     -  

Allowance - end of period

  $ 733     $ 519  

 

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.22.4
Note 6 - Inventories
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Inventory Disclosure [Text Block]

(6)

Inventories

 

Inventories consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Raw materials

  $ 42,475     $ 22,184  

Work in process

    4,183       4,205  

Finished goods

    6,878       7,047  

Total Inventory

  $ 53,536     $ 33,436  

 

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Intangible Assets Disclosure [Text Block]

(7)

Goodwill and Other Intangible Assets

 

The changes in the carrying amount of goodwill for the years ended December 31, 2022 and 2021 are as follows (in thousands):

 

   

2022

   

2021

 
                 

Opening balance

  $ 107,905     $ 51,838  

Acquired in business combinations (See Note 2)

    7,140       56,067  

DAS working capital adjustment

    196       -  

DAS opening balance sheet reclassification

    (243 )     -  

Sale of Molded Fiber

    (1,778 )     -  

Foreign currency translation

    (192 )     -  

Ending balance

  $ 113,028     $ 107,905  

 

Approximately $106.0 million of goodwill at December 31, 2022, is deductible for tax purposes

 

The carrying values of the Company’s definite-lived intangible assets as of December 31, 2022 and 2021 are as follows (in thousands):

 

December 31, 2022

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.3 years

         

Gross amount

  $ 65,174     $ 7,064     $ 5,497     $ 77,735  

Accumulated amortization

    (7,665 )     (727 )     (982 )   $ (9,374 )

Net balance

  $ 57,509     $ 6,337     $ 4,515     $ 68,361  

 

December 31, 2021

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.5 years

         

Gross amount

  $ 62,328     $ 4,994     $ 5,245     $ 72,567  

Accumulated amortization

    (4,442 )     (175 )     (365 )   $ (4,982 )

Net balance

  $ 57,886     $ 4,819     $ 4,880     $ 67,585  

 

Amortization expense related to intangible assets was approximately $4.4 million, $1.3 million, and $1.3 million for the years ended December 31, 2022, 2021, and 2020, respectively. The estimated remaining amortization expense as of December 31, 2022 is as follows (in thousands):

 

2023

  $ 4,408  

2024

    4,401  

2025

    4,401  

2026

    4,399  

2027

    4,397  

Thereafter

    46,355  

Total

  $ 68,361  

 

XML 28 R14.htm IDEA: XBRL DOCUMENT v3.22.4
Note 8 - Property, Plant and Equipment
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Property, Plant and Equipment Disclosure [Text Block]

(8)

Property, Plant and Equipment

 

Property, plant, and equipment consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Land and improvements

  $ 4,811     $ 3,191  

Buildings and improvements

    34,446       36,234  

Leasehold improvements

    5,503       4,859  

Machinery & equipment

    52,233       72,963  

Furniture, fixtures, computers & software

    6,401       6,052  

Construction in progress

    7,272       3,538  

Property, plant and equipment

  $ 110,666     $ 126,837  

Accumulated depreciation and amortization

    (52,594 )     (70,268 )

Net property, plant and equipment

  $ 58,072     $ 56,569  

 

Depreciation and amortization expense of Property, Plant and Equipment for the years ended December 31, 2022, 2021, and 2020 was approximately $7.5 million, $7.1 million, and $7.0 million, respectively.

 

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.22.4
Note 9 - Debt
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Debt Disclosure [Text Block]

(9)

Debt

 

On December 22, 2021, the Company, as the borrower, entered into a secured $130 million Second Amended and Restated Credit Agreement (the “Second Amended and Restated Credit Agreement”) with certain of the Company’s subsidiaries (the “Subsidiary Guarantors”) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time-to-time party thereto. The Second Amended and Restated Credit Agreement amends and restates the Company’s prior credit agreement, originally dated as of February 1, 2018.

 

The credit facilities under the Second Amended and Restated Credit Agreement consist of a $40 million secured term loan to the Company and a secured revolving credit facility, under which the Company may borrow up to $90 million. The Second Amended and Restated Credit Agreement matures on December 21, 2026. The secured term loan requires quarterly principal payments of $1 million that commenced on March 31, 2022. The proceeds of the Second Amended and Restated Credit Agreement may be used for general corporate purposes, including funding the acquisition of DAS Medical, as well as certain other permitted acquisitions. The Company’s obligations under the Second Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.

 

The Second Amended and Restated Credit Agreement calls for interest determined by the Bloomberg Short-Term Bank Yield Index rate (“BSBY”) plus a margin that ranges from 1.25% to 2.0% or, at the discretion of the Company, the bank’s prime rate less a margin that ranges from 0.25% to zero. In both cases the applicable margin is dependent upon Company performance. Under the Second Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The Second Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness, and permitted investments.

 

At December 31, 2022, the Company had approximately $55 million in borrowings outstanding under the Second Amended and Restated Credit Agreement, which were used as partial consideration for the DAS Medical and Advant acquisitions, and also had approximately $0.7 million in standby letters of credit outstanding, drawable as a financial guarantee on worker’s compensation insurance policies. At December 31, 2022, the applicable interest rate was approximately 5.2% and the Company was in compliance with all covenants under the Second Amended and Restated Credit Agreement.

 

Long-term debt consists of the following (in thousands):

 

  

December 31,

2022

 

Revolving credit facility

 $19,000 

Term loan

  36,000 

Total long-term debt

  55,000 

Current portion

  (4,000)

Long-term debt, excluding current portion

 $51,000 

 

Future maturities of long-term debt at December 31, 2022 are as follows (in thousands):

 

Year ended December 31,

 

Term Loan

  

Revolving credit facility

  

Total

 

2023

 $4,000  $-  $4,000 

2024

  4,000   -   4,000 

2025

  4,000   -   4,000 

2026

  24,000   19,000   43,000 
  $36,000  $19,000  $55,000 

 

Derivative Financial Instruments

 

The Company used interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does not enter into derivative instruments for any purpose other than cash flow hedging. Derivative financial instruments expose the Company to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is not exposed to the counterparty’s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates.

 

The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that may adversely impact expected future cash flows and by evaluating hedging opportunities. The Company’s debt obligations exposed the Company to variability in interest payments due to changes in interest rates. The Company believed that it was prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the first Amended and Restated Credit Agreement, the Company entered into a $20 million, 5-year interest rate swap agreement under which the Company receives three-month LIBOR plus the applicable margin and pays a 2.7% fixed rate plus the applicable margin. The swap modified the Company’s interest rate exposure by converting the previous term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was approximately $5.7 million at December 31, 2022. The fair value of the swap as of December 31, 2022 and 2021 was zero and approximately $(176) thousand, respectively, and is included in other liabilities. Changes in the fair value and net cash settlement amounts related to the swap are recorded in other income of approximately $176 thousand and approximately $24 thousand during the years ended December 31, 2022 and 2021, respectively.

 

As the Company has paid the remaining balance of the term loan that was associated with the swap in its entirety, there is no longer underlying debt to hedge against with the swap. The changes in the fair value of the swap will continue to be accounted for as a financial instrument until its maturity, on February 1, 2023.

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.22.4
Note 10 - Accrued Expenses
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Accounts Payable and Accrued Liabilities Disclosure [Text Block]

(10)

Accrued Expenses

 

Accrued expenses consist of the following (in thousands):

 

   

December 31,

 
   

2022

   

2021

 

Compensation

  $ 7,949     $ 6,498  

Current portion of contingent consideration

    5,000       4,543  

Current portion of present value of non-competition payments

    1,888       156  

Accrued customer rebates

    3,493       1,241  

Other

    4,792       4,339  
    $ 23,122     $ 16,777  

 

Certain amounts for the year ended December 31, 2021 were revised to conform to the current year presentation (See Note 1).

 

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

(11)

Income Tax

 

The Company’s domestic and foreign net income before provision for income taxes for the years ended December 31, 2022, 2021, and 2020 consists of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 
             

Domestic

 $34,654  $21,205  $16,283 

Foreign

  18,064   -   - 

Total

  52,718   21,205   16,283 

 

The Company’s income tax provision for the years ended December 31, 2022, 2021, and 2020 consists of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Current

            

Federal

 $11,238  $5,793  $2,223 

State

  2,309   1,320   555 

Foreign

  1,863   -   - 

Total Current

  15,410   7,113   2,778 

Deferred

            

Federal

  (3,856)  (1,399)  (28)

State

  (624)  (395)  164 

Foreign

  (1)  -   - 

Total Deferred

  (4,481)  (1,794)  136 

Total income tax provision

 $10,929  $5,319  $2,914 

 

The approximate tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Deferred tax assets:

        

Reserves

 $450  $380 

Inventory capitalization

  305   706 

Compensation programs

  2,120   1,842 

Equity-based compensation

  690   668 

Lease liability

  3,298   2,427 

Intangible assets

  1,132   877 

Deferred revenue

  1,115   365 

Other

  362   17 

Gross deferred tax assets

  9,472   7,282 

Valuation allowance

  -   (17)

Net deferred tax assets

  9,472   7,265 
         

Deferred tax liabilities:

        

Excess of book over tax basis of fixed assets

  (2,782)  (4,481)

Goodwill

  (2,445)  (3,628)

Right of use asset

  (3,245)  (2,419)

Total deferred tax liabilities

  (8,472)  (10,528)

Net long-term deferred tax assets (liabilities)

 $1,000  $(3,263)

 

 

 

The amounts recorded as deferred tax assets as of December 31, 2022 and 2021 represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than not to be realized through the generation of sufficient future taxable income within the carryforward period. The Company had gross deferred tax assets of approximately $9.5 million at December 31, 2022, that it believes are more likely than not to be realized in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.

 

The Company has provided a valuation allowance of zero and $17 thousand at December 31, 2022 and 2021, respectively, for deferred tax assets (net of federal tax benefit).

 

The actual tax provision for the years presented differs from that derived from using a U.S federal statutory rate of 21% to income before income tax expense as follows:

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

U.S. federal statutory rate

  21.0%  21.0%  21.0%

Increase (decrease) in income taxes resulting from:

            

State taxes, net of federal tax benefit

  3.2   4.0   4.2 

Meals and entertainment

  -   -   0.1 

Tax credits

  (0.7)  (1.7)  (7.2)

Return to provision adjustments

  -   0.7   - 

Foreign rate differential

  (3.7)  -   - 

GILTI impact

  0.8   -   - 

Excess tax benefits on equity awards

  -   -   (1.2)

Excess compensation

  0.8   0.7   0.8 

Other

  (0.7)  0.6   0.2 

Change in valuation allowance

  -   (0.2)  - 

Effective tax rate

  20.7%  25.1%  17.9%

 

The Company’s foreign subsidiary earnings are subject to current U.S. taxation under the Tax Cuts and Jobs Act of 2017, which also repealed U.S. taxation on the subsequent repatriation of those earnings. We intend to repatriate substantially all of our future foreign subsidiary earnings.  The repatriation of earnings outside of the U.S. generally does not represent a material net tax impact to the Company. The withholding taxes associated with the Company’s earnings in the Dominican Republic are generally fully creditable against the Company US tax liability and therefore do not produce any incremental tax consequences.  The earnings of the Company’s other foreign subsidiaries, and therefore the withholding taxes associated with those earnings, are not material as of December 31, 2022.

 

The Company files income tax returns in the U.S. federal jurisdiction and various state jurisdictions, as well as Ireland and Costa Rica.  It currently does not have a local filing obligation with respect to its subsidiary in the Dominican Republic.  The Company has not been audited by any state for income taxes with the exception of returns filed in Michigan which have been audited through 2004, income tax returns filed in Massachusetts which have been audited through 2007, income tax returns filed in Florida which have been audited through 2019, income tax returns filed in New Jersey which have been audited through 2012, income tax returns in Colorado which have been audited through 2017, and income tax returns in Iowa which have been audited  through 2019. The Company’s federal tax return is currently being audited for the years 2019 and 2020. Federal and state tax returns for the years 2019 through 2022 remain open to examination by the IRS and various state jurisdictions.  The Company’s non-US tax returns in Ireland and Costa Rica are open back to 2018.

 

At December 31, 2022 and 2021, the Company did not have any gross unrecognized tax benefits (“UTB”) resulting from uncertain tax positions.

 

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.22.4
Note 12 - Net Income Per Share
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Earnings Per Share [Text Block]

(12)

Net Income Per Share

 

Basic income per share is based upon the weighted average common shares outstanding during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share consisted of the following (in thousands):

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Basic weighted average common shares outstanding during the year

  7,564   7,524   7,484 

Weighted average common equivalent shares due to stock options and restricted stock units

  99   91   84 

Diluted weighted average common shares outstanding during the year

  7,663   7,615   7,568 

 

The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the exercise price of the related options during the period. These outstanding stock awards are not included in the computation of diluted earnings per share because the effect would have been antidilutive.

 

For the years ended December 31, 2022, 2021, and 2020, the number of stock awards excluded from the computation was 9,876, 10,716, and 14,892, respectively.

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Share-Based Payment Arrangement [Text Block]

(13)

Share-Based Compensation

 

The Company issues share-based awards through several plans that are described in detail below.

 

Incentive Plan

 

In June 2003, the Company formally adopted the 2003 Incentive Plan (the “Plan”). As amended and restated to date, the Plan is intended to benefit the Company by offering equity-based and other incentives to certain of the Company’s executives and employees who are in a position to contribute to the long-term success and growth of the Company, thereby encouraging the continuance of their involvement with the Company and/or its subsidiaries.

 

Two types of equity awards may be granted to participants under the Plan: restricted shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of common stock. Such awards may include Restricted Stock Unit Awards (“RSUs”), incentive and non-qualified stock options, performance shares, or stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.

 

Through December 31, 2022, 1,327,064 shares of common stock were issued under the 2003 Incentive Plan, none of which have been restricted. An additional 98,448 shares are being reserved for outstanding grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company has also granted awards in the form of stock options under this Plan. Through December 31, 2022, 185,000 options were granted and no options are outstanding. At December 31, 2022, 738,769 shares or options are available for future issuance in the 2003 Incentive Plan.

 

Director Plan

 

Effective July 15, 1998, the Company adopted the 1998 Director Plan, which was amended and renamed on June 3, 2009 as the 2009 Non-Employee Director Stock Incentive Plan (the “Director Plan”). The Director Plan was amended on March 7, 2013, to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company’s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan was amended on June 8, 2022, to increase the maximum number of shares issuable under the Director Plan from 975,000 to 1,075,000. The Director Plan, as amended, provides for the issuance of stock options and other equity-based securities to non-employee members of the Company’s board of directors.

 

Through December 31, 2022, 400,510 options were granted, and 93,302 options are outstanding. For the year ended December 31, 2022, 3,882 RSUs are being reserved for outstanding grants of RSUs and 131,846 shares remain available to be issued under the Director Plan.

 

Share-based compensation is measured at the grant date based on the fair value of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant). Share-based compensation is included in selling, general & administrative expenses as follows (in thousands):

 

  

Years Ended December 31,

 

Share-based compensation related to:

 

2022

  

2021

  

2020

 

Common stock grants

 $400  $400  $400 

Stock option grants

  263   210   232 

Restricted Stock Unit awards

  2,545   1,818   1,175 

Total share-based compensation

 $3,208  $2,428  $1,807 

 

The total income tax benefit recognized in the consolidated statements of income for share-based compensa‐tion arrangements was approximately $1.3 million, $0.8 million, and $0.7 million for the years ended December 31, 2022, 2021, and 2020, respectively.

 

Common stock grants

 

The compensation expense for common stock granted during the three-year period ended December 31, 2022, was determined based on the market price of the shares on the date of grant.

 

Stock option grants

 

The compensation expense for stock options granted during the three-year period ended Decem‐ber 31, 2022, was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:

 

  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Expected volatility

  34.7%  33.7%  32.8%

Expected dividends

 

None

  

None

  

None

 

Risk-free interest rate

  2.9%  0.8%  0.3%

Exercise price

 $77.28  $57.34  $43.95 

Expected term (years)

  6.2   6.2   6.1 

Weighted-average grant date fair value

 $30.37  $19.60  $14.10 

 

The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company’s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.

 

The following is a summary of stock option activity for the year ended December 31, 2022:

 

  

Shares Under Options

  

Weighted Average Exercise Price
(per share)

  

Weighted Average Remaining Contractual Life
(in years)

  

Aggregate Intrinsic Value
(in thousands)

 
                 

Outstanding December 31, 2021

  98,671  $33.53         

Granted

  9,876   77.28         

Exercised

  (16,472)  23.72         

Outstanding December 31, 2022

  92,075  $39.98   5.95  $7,174 

Exercisable at December 31, 2022

  82,199  $35.50   5.53  $6,773 

Vested and expected to vest at December 31, 2022

  92,075  $39.98   5.95  $7,174 

 

During the years ended December 31, 2022, 2021, and 2020, the total intrinsic value of all options exercised (i.e., the difference between the market price and the price paid by the employees to exercise the options) was approximately $1.2 million, $0.2 million, and $0.8 million, respectively, and the total amount of consideration received from the exercise of these options was approximately $0.4 million, $0.2 million, and $0.5 million, respectively. At its discretion, the Company allows option holders to surrender previously owned common stock in lieu of paying the exercise price and withholding taxes. During the year ended December 31, 2022, 1,876 shares were redeemed for this purpose at an average market price of $95.82. During both the years ended December 31, 2021 and 2020, no shares were redeemed for this purpose.

 

Restricted Stock Unit awards (RSUs)

 

The Company grants RSUs to its directors, executive officers and employees. The stock unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant, which is equal to the Company’s closing stock price, and is charged, to expense ratably during the service period. No compensation expense is taken on awards that do not become vested, and the amount of compensation expense recorded is adjusted based on management’s determination of the probability that these awards will become vested.

 

The following table summarizes informa‐tion about stock unit award activity during the year ended December 31, 2022:

 

  

Restricted Stock Units

  

Weighted Average Award Date Fair Value

 

Outstanding at December 31, 2021

  101,168  $41.78 

Awarded

  51,981   74.66 

Shares vested

  (49,575)  41.05 

Forfeitures

  (1,244)  63.34 

Outstanding at December 31, 2022

  102,330  $56.02 

 

At the Company’s discretion, RSU holders are given the option to net-share settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common shares. During the year ended December 31, 2022, 19,425 shares were redeemed for this purpose at an average market price of $67.05. During the years ended December 31, 2021 and 2020, 14,190 and 11,423 shares were redeemed for this purpose at an average market price of $52.55 and $49.91, respectively.

 

The following summarizes the future share-based compensation expense the Company will record as the equity securities granted through December 31, 2022, vest (in thousands):

 

  

Options

  

Restricted
Stock Units

  

Total

 

2023

 $131  $2,186  $2,317 

2024

  -   1,287   1,287 

2025

  -   150   150 

Total

 $131  $3,623  $3,754 

 

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Lessee, Operating and Finance Leases [Text Block]

(14)

Leases

 

The Company has operating and finance leases for offices, manufacturing plants, vehicles and certain office and manufacturing equipment. Leases with an initial term of 12 months or less are not recorded on the balance sheet. The Company accounts for each separate lease component of a contract and its associated non-lease components as a single lease component, thus causing all fixed payments to be capitalized. Variable lease payment amounts that cannot be determined at the commencement of the lease such as increases in lease payments based on changes in index rates or usage, are not included in the right of use (“ROU”) assets or lease liabilities. These are expensed as incurred and recorded as variable lease expense. The Company determines if an arrangement is a lease at the inception of a contract. Operating and finance lease ROU assets and operating and finance lease liabilities are stated separately in the condensed consolidated balance sheet. 

 

ROU assets represent the Company's right to use an underlying asset during the lease term and lease liabilities represent the Company's obligation to make lease payments arising from the lease.  ROU assets and lease liabilities are recognized at commencement date based on the net present value of fixed lease payments over the lease term.  The Company's lease term includes options to extend or terminate the lease when it is reasonably certain that it will exercise that option.  ROU assets are also adjusted for any deferred or accrued rent. As the Company's leases do not typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.

 

ROU assets and lease liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Operating lease ROU assets

 $12,942  $9,053 

Finance lease ROU assets

  211   271 

Total ROU assets

 $13,153  $9,324 
         

Operating lease liabilities - current

 $2,458  $2,181 

Finance lease liabilities - current

  59   58 

Total lease liabilities - current

 $2,517  $2,239 
         

Operating lease liabilities - long-term

 $10,695  $6,903 

Finance lease liabilities - long-term

  156   215 

Total lease liabilities - long-term

 $10,851  $7,118 

 

  

Year Ended

 
  

December 31,

 
  

($ in thousands)

 
  

2022

  

2021

 

Lease Cost:

        

Finance lease cost:

        

Amortization of right of use assets

 $60  $27 

Interest on lease liabilities

  5   3 

Operating lease cost

  2,621   1,263 

Variable lease cost

  304   263 

Short-term lease cost

  57   43 

Total lease cost

 $3,047  $1,599 
         

Cash paid for amounts included in measurement of lease liabilities:

        

Operating cash flows from operating leases

 $2,452  $1,284 

Financing cash flows from finance leases

  63   29 

ROU assets obtained in exchange for finance lease obligations

  -   198 
         

Weighted-average remaining lease term (years):

        

Finance

  3.54   4.54 

Operating

  5.34   3.95 

Weighted-average discount rate:

        

Finance

  2.10%  2.10%

Operating

  3.00%  2.63%

 

The aggregate future lease payments for leases as of December 31, 2022 were as follows (in thousands):

 

  

December 31, 2022

 
  

Finance

  

Operating (a)

 

2023

 $63  $2,492 

2024

  63   2,420 

2025

  63   2,234 

2026

  28   2,012 

2027

  6   1,709 

Thereafter

  -   3,611 

Total lease payments

  223   14,478 

Less: Interest

  (8)  (1,325)

Present value of lease liabilities

 $215  $13,153 

 

 

(a)

Future operating lease payments have not been reduced by minimum sublease rentals of approximately $2.1 million due in the future under non-cancelable subleases.

 

Rent expense amounted to approximately $2.6 million, $1.4 million, and $1.3 million in 2022, 2021, and 2020, respectively.

 

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.22.4
Note 15 - Other Long-term Liabilities
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Other Liabilities Disclosure [Text Block]

(15)

Other Long-Term Liabilities

 

Other long-term liabilities consist of the following (in thousands):

 

  

December 31,

 
  

2022

  

2021

 

Accrued contingent consideration (earn-out)

 $9,568  $5,188 

Present value of non-competition payments

  8,155   9,321 

Other

  497   676 
  $18,220  $15,185 

 

Certain amounts for the year ended December 31, 2021 were revised to conform to the current year presentation (See Note 1).

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.22.4
Note 16 - Commitments and Contingencies
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Commitments and Contingencies Disclosure [Text Block]

(16)

Commitments and Contingencies

 

 

(a)

Legal – From time to time, the Company may be a party to various suits, claims and complaints arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should not result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company’s financial condition or results of operations.

 

 

(b)

Contingent Consideration – In conjunction with both the Contech Medical and DAS Medical acquisitions in the fourth quarter of 2021, the Company incurred liabilities for certain contingent consideration related to the valuation of earn-out payments based upon the performance of the business. Also in conjunction with the DAS Medical acquisition, the Company incurred a liability for contingent consideration related to the present value of non-competition payments. We re-measure contingent liabilities each reporting period and record changes in the fair value through a separate line item within our consolidated statements of operations. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount rates, periods, timing and amount of projected revenue or timing or likelihood of achieving regulatory, revenue or commercialization-based milestones. The use of alternative valuation assumptions, including estimated revenue projections, growth rates, cash flows, discount rates, useful life, or probability of achieving clinical, regulatory, or revenue-based milestones could result in different purchase price allocations and recognized amortization expense and contingent consideration expense or benefit in current and future periods.

 

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.22.4
Note 17 - Employee Benefit Plans
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Compensation and Employee Benefit Plans [Text Block]

(17)

Employee Benefit Plans

 

The Company maintains 401(k) and profit-sharing plans for eligible employees. Contributions to the Plans are made in the form of matching contributions to employee 401(k) deferrals, and until 2020, discretionary profit-sharing amounts determined by the Board of Directors to be funded by March 15 following each fiscal year. Contributions to the Plan were approxi‐mately $0.7 million, $0.6 million, and $0.9 million for the years 2022, 2021, and 2020, respectively.

 

The Company has a partially self-insured health insurance program that covers all eligible participating employees. The maximum liability is limited by a stop loss of $225 thousand per insured person, along with an aggregate stop loss determined by the number of participants.

 

The Company has an Executive, Non-qualified “Excess” Plan (“the Plan”), which is a deferred compen‐sa‐tion plan available to certain executives. The Plan permits participants to defer receipt of part of their current compensation to a later date as part of their personal retirement or financial planning. Partici‐pants have an unsecured contractual commitment from the Company to pay amounts due under the Plan.

 

The compensation withheld from Plan participants, together with gains or losses determined by the participants’ deferral elections is reflected as a deferred compensation obligation to participants and is classified within the liabilities section in the accompanying balance sheets. At December 31, 2022 and 2021, the balance of the deferred compensation liability totaled approximately $4.2 million and $4.3 million, respectively. The related assets, which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender values of the policies and totaled approximately $4.1 and $4.3 million as of December 31, 2022 and 2021, respectively.

 

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.22.4
Note 18 - Fair Value of Financial Instruments
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

(18)

Fair Value of Financial Instruments

 

Financial instruments recorded at fair value in the consolidated balance sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs used to measure their fair value. Hierarchical levels defined by ASC 820, Fair Value Measurements and Disclosures, and directly related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:

 

Level 1

Valued based on unadjusted, quoted prices in active markets for identical assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.

 

Level 2

Valued based on either directly or indirectly observable prices for the asset or liability through correlation with market data at the measurement date and for the duration of the instrument’s anticipated life.

 

Level 3

Valued based on management’s best estimate of what market participants would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation technique and the risk inherent in the inputs to the model.

 

The following table presents the fair value and hierarchy levels, for financial assets that are measured at fair value on a recurring basis (in thousands):

 

Level 2

 

December 31, 2022

  

December 31, 2021

 

Liabilities:

        

Derivative financial instruments

 $-  $176 

Level 3

        

Purchase price contingent consideration (Note 2):

        

Accrued contingent consideration (earn-out)

 $14,568  $9,731 

Present value of non-competition payments

  10,043   9,477 

 

Derivative financial instruments consist of an interest rate swap for which fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that are observable at commonly quoted intervals for the full term of the swap agreement.

 

In connection with the acquisitions discussed in Note 2, “Acquisitions,” the Company is required to make contingent payments, subject to the entities achieving certain financial performance thresholds. The contingent consideration payments for both acquisitions combined are up to $25 million. The fair value of the liabilities for the contingent consideration payments recognized upon the acquisition as part of the purchase accounting opening balance sheets totaled approximately $9.7 million and was estimated by discounting to present value the probability-weighted contingent payments expected to be made. Assumptions used in this calculation were managements financial forecasts, discount rate and various probability factors. The ultimate settlement of contingent consideration could deviate from current estimates based on the actual results of these financial measures. This liability is considered to be a Level 3 financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.

 

Also in connection with the DAS Medical acquisition, the Company has entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the ten years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners. The present value of the Non-Competition Agreements totaled approximately $8.9 million. This liability is considered to be a Level 3 financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.

 

The Company has financial instruments, such as accounts receivable, accounts payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the estimated borrowing rate currently available to the Company.

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.22.4
Note 19 - Segment Reporting
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

(19)

Segment Data

 

The Company consists of a single operating and reportable segment.

 

Revenues shipped to customers outside of the United States comprised approximately 16% of the Company’s consolidated revenues for the year ended December 31, 2022. One customer comprised approximately 21% of the Company’s consolidated revenues for the year ended December 31, 2022. No customer comprised more than 10% of the Company’s consolidated revenues for the years ended December 31, 2021 and 2020. One customer represented approximately 10% of gross accounts receivable for both years ended December 31, 2022 and 2021. Approximately 17% of all long-lived assets are located outside of the United States.

 

The Company’s custom products are primarily sold to customers within the Medical, Automotive, Consumer, Aerospace & Defense, Industrial, and Electronics markets. Sales by market for the years ended December 31, 2022, 2021, and 2020 as follows (in thousands):

 

  

2022

  

2021

  

2020

 

Market

 

Net Sales

  

%

  

Net Sales

  

%

  

Net Sales

  

%

 
                         

Medical

 $286,180   80.9% $132,505   64.2% $120,258   67.2%

Automotive

  17,487   4.9%  15,596   7.6%  14,607   8.1%

Consumer

  17,255   4.9%  26,048   12.6%  18,316   10.2%

Aerospace & Defense

  15,328   4.3%  16,380   7.9%  12,810   7.1%

Industrial

  10,322   2.9%  8,413   4.1%  7,622   4.2%

Electronics

  7,220   2.1%  7,378   3.6%  5,760   3.2%

Net Sales

 $353,792   100.0% $206,320   100.0% $179,373   100.0%

 

Certain amounts for the year ended December 31, 2021 were reclassified between markets to conform to the current year presentation.

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.22.4
Note 20 - Quarterly Financial Information (Unaudited)
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
Quarterly Financial Information [Text Block]

(20)

Quarterly Financial Information (unaudited)

 

Summarized quarterly financial data is as follows (in thousands, except per share data):

 

2022

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $71,242  $94,343  $96,970  $91,237 

Gross profit

  17,134   24,324   25,523   23,279 

Net income

  4,858   8,929   19,540   8,462 

Basic net income per share

  0.64   1.18   2.58   1.12 

Diluted net income per share

  0.64   1.17   2.56   1.10 

 

2021

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $48,599  $50,655  $50,723  $56,343 

Gross profit

  12,609   13,414   12,016   13,075 

Net income

  4,163   4,715   3,789   3,219 

Basic net income per share

  0.55   0.63   0.50   0.43 

Diluted net income per share

  0.55   0.62   0.50   0.42 

 

 

 

 

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.22.4
Schedule II - Valuation and Qualifying Accounts
12 Months Ended
Dec. 31, 2022
Notes to Financial Statements  
SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]

Schedule II

 

 

UFP TECHNOLOGIES, INC.

 

Consolidated Financial Statement Schedule

 

Valuation and Qualifying Accounts

 

Years ended December 31, 2022, 2021, and 2020

 

 

Accounts receivable, allowance for credit losses:

 

  

2022

  

2021

  

2020

 

Balance at beginning of year

 $519  $484  $486 

Provision for bad debt

  293   179   13 

Write-offs, net of recoveries

  (40)  (144)  (15)

Sale of Molded Fiber business

  (39)  -   - 

Balance at end of year

 $733  $519  $484 

 

 

 

 

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.22.4
Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2022
Accounting Policies [Abstract]  
Consolidation, Policy [Policy Text Block]

(a)    Principles of Consolidation

 

The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (partial year; entity was sold in July 2022), Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. The Company consists of a single operating and reportable segment. The Company has evaluated all subsequent events through the date of this filing.

 

Use of Estimates, Policy [Policy Text Block]

(b)    Use of Estimates

 

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and the fair value of goodwill, and the fair value of intangible assets, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.

 

Fair Value Measurement, Policy [Policy Text Block]

(c)    Fair Value Measurement

 

The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.

 

Fair Value of Financial Instruments, Policy [Policy Text Block]

(d)    Fair Value of Financial Instruments

 

Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the Company’s current incremental borrowing rate.

 

Cash and Cash Equivalents, Policy [Policy Text Block]

(e)    Cash and Cash Equivalents

 

The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents. At December 31, 2022 and 2021, the Company did not have any cash equivalents.

 

The Company maintains its cash in bank deposit accounts that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does not believe it is exposed to any significant custodial credit risk on cash.

 

Accounts Receivable [Policy Text Block]

(f)     Accounts Receivable

 

The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management’s judgment. Conditions impacting the realizability of the Company’s receivables could cause actual asset write-offs to be materially different than the reserved balances as of December 31, 2022.

 

Inventory, Policy [Policy Text Block]

(g)    Inventories

 

Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the first-in, first-out (“FIFO”) method.

 

The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management’s judgment. Conditions impacting the realizability of the Company’s inventory could cause actual asset write-offs to be materially different than the Company’s current estimates as of December 31, 2022.

 

Property, Plant and Equipment, Policy [Policy Text Block]

(h)    Property, Plant, and Equipment

 

Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.

 

Estimated useful lives of property, plant, and equipment are as follows:

 

Leasehold improvements

Shorter of estimated useful life
or remaining lease term

Buildings and improvements (years)

20 -30

Machinery and equipment (years)

7 – 15

Furniture, fixtures, computers & software (years)

3 – 7

 

Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset’s carrying value over its fair value. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]

(i)     Goodwill

 

Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount may be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are one level below the business segment level but can be combined when reporting units within the same segment have similar economic characteris‐tics. An impairment loss generally would be recognized when the carrying amount of the reporting unit’s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In performing the most recent “step 1” evaluation of goodwill impairment, the Company primarily utilized the guideline public company (“GPC”) method under the market approach and the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, one that a prudent investor would require before making an investment in our equity securities.

 

The Company changed its annual impairment testing date in 2021 to October 1 in order to allow for sufficient time to complete its analysis. As of our most recent step 1 evaluation on October 1, 2022, based on calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If the Company’s actual operating results and/or the key assumptions utilized in management’s calculations differ from our expectations, it is possible that a future impairment charge may be necessary.

 

Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]

(j)     Intangible Assets

 

Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values may not be recoverable. No events or changes in circumstances arose during the year ended December 31, 2022 that required management to perform an impairment analysis.

 

Revenue from Contract with Customer [Policy Text Block]

(k)    Revenue Recognition

 

The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does not transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.

 

Share-Based Payment Arrangement [Policy Text Block]

(l)     Share-Based Compensation

 

When accounting for equity instruments exchanged for employee services, share-based compen‐sation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee’s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.

 

Shipping and Handling Costs [Policy Text Block]

(m)   Shipping and Handling Costs

 

Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.

 

Income Tax, Policy [Policy Text Block]

(n)    Income Taxes

 

The Company’s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carry‐forwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.

 

The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than not to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would not be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.

 

The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than 50% likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.

 

Segment Reporting, Policy [Policy Text Block]

(o)    Segments and Related Information

 

The Company follows the provisions of Accounting Standards Codification (ASC) 280, Segment Reporting, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note 19).

 

Stockholders Equity, Treasury Stock [Policy Text Block]

(p)    Treasury Stock

 

The Company accounts for treasury stock under the cost method, using the first-in, first out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. The Company did not repurchase any shares of common stock during the years ended December 31, 2022, 2021 and 2020.

 

Research and Development Expense, Policy [Policy Text Block]

(q)    Research and Development

 

On a routine basis, the Company incurs costs related to research and development activity. These costs are expensed as incurred. Approximately $9.3 million, $8.5 million, and $8.2 million were expensed in the years ended December 31, 2022, 2021 and 2020, respectively.

 

Foreign Currency Transactions and Translations Policy [Policy Text Block]

(r)    Foreign Currency Translation

 

The Company translates all assets and liabilities of its foreign subsidiaries, where the U.S. dollar is not the functional currency, at the period-end exchange rate and translates income and expenses at the average exchange rates in effect during the period. The net effect of this translation is recorded in the consolidated financial statements as a component of Accumulated Other Comprehensive Income (AOCI). Translation adjustments are not adjusted for income taxes as they relate to permanent investments in the Company’s foreign subsidiaries.

 

New Accounting Pronouncements, Policy [Policy Text Block]

Recent Accounting Pronouncements

 

There are no newly issued accounting pronouncements that the Company expects to have a material effect on the financial statements.

 

Reclassification, Comparability Adjustment [Policy Text Block]

Revisions

 

Certain revisions have been made to the December 31, 2021 Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of other liabilities (long-term) to accrued expenses (current). The reclassification resulted in an increase in accrued expenses of $4.1 million and a decrease in other liabilities of $4.1 million. These revisions had no impact on previously reported earnings, net income or cash flows and are deemed immaterial to the previously issued financial statements.

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.22.4
Note 1 - Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Property, Plant and Equipment, Estimated Useful Lives [Table Text Block]

Leasehold improvements

Shorter of estimated useful life
or remaining lease term

Buildings and improvements (years)

20 -30

Machinery and equipment (years)

7 – 15

Furniture, fixtures, computers & software (years)

3 – 7

XML 44 R30.htm IDEA: XBRL DOCUMENT v3.22.4
Note 2 - Acquisitions and Divestiture (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]

Fair value of considerations transferred

    

Cash paid at closing

 $23,608 

Other liability

  395 

Cash from Advant

  (2,840)

Total consideration

 $21,163 
     

Purchase price allocation

    

Accounts receivable

 $2,299 

Inventory

  2,410 

Other current assets

  213 

Property, plant, and equipment

  5,704 

Customer contracts & relationships

  2,925 

Intellectual property

  2,127 

Non-compete agreement

  259 

Lease right of use assets

  289 

Other assets

  41 

Goodwill

  7,140 

Total identifiable assets

 $23,407 

Accounts payable

  (772)

Accrued expenses

  (668)

Income taxes

  (66)

Deferred taxes

  (449)

Lease liabilities

  (289)

Net assets acquired

 $21,163 

Fair value of considerations transferred

    

Cash paid at closing

 $95,000 

Contingent liability (Earn-out)

  5,188 

Non-compete agreements

  8,855 

Cash from DAS

  (8,316)

Working capital adjustment

  (115)

Total consideration

 $100,612 
     

Purchase price allocation

    

Accounts receivable

 $2,351 

Inventory

  7,570 

Other current assets

  68 

Property, plant, and equipment

  3,314 

Customer contracts & relationships

  36,730 

Intellectual property

  2,380 

Non-compete agreement

  4,697 

Lease right of use assets

  1,221 

Goodwill

  51,742 

Total identifiable assets

 $110,073 

Accounts payable

  (5,238)

Accrued expenses

  (2,995)

Deferred revenue

  (7)

Lease liabilities

  (1,221)

Net assets acquired

 $100,612 

Fair value of consideration transferred:

    

Cash paid at closing

 $9,766 

Contingent liability (Earn-out)

  4,543 

Other liability

  500 

Cash from Contech

  (266)

Total consideration

 $14,543 
     

Purchase Price Allocation:

    

Accounts receivable

 $2,851 

Inventory

  2,320 

Other current assets

  37 

Property, plant and equipment

  1,170 

Customer Contracts & Relationships

  3,043 

Intellectual Property

  2,247 

Non-Compete agreement

  86 

Lease right of use assets

  1,523 

Goodwill

  4,278 

Total identifiable assets

 $17,555 

Accounts payable

  (1,015)

Accrued expenses

  (414)

Deferred revenue

  (60)

Lease liabilities

  (1,523)

Net assets acquired

 $14,543 
Business Acquisition, Pro Forma Information [Table Text Block]
  

Year Ended December 30,

 
  

2022

  

2021

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $358,196  $291,403 

Operating Income

 $56,321  $27,729 

Net Income

 $42,311  $21,805 

Earnings per share:

        

Basic

 $5.59  $2.90 

Diluted

 $5.52  $2.86 
  

Year Ended December 31,

 
  

2021

  

2020

 
  

(Unaudited)

  

(Unaudited)

 

Sales

 $269,932  $235,328 

Operating Income

 $25,878  $22,617 

Net Income

 $20,562  $18,354 

Earnings per share:

        

Basic

 $2.73  $2.45 

Diluted

 $2.70  $2.43 
XML 45 R31.htm IDEA: XBRL DOCUMENT v3.22.4
Note 3 - Revenue Recognition (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Disaggregation of Revenue [Table Text Block]
   

Years Ended December 31,

 
   

2022

   

2021

   

2020

 

Net sales of:

                       

Products

  $ 342,742     $ 201,248     $ 172,299  

Tooling and Machinery

    6,307       1,814       2,787  

Engineering services

    4,743       3,258       4,287  

Total net sales

  $ 353,792     $ 206,320     $ 179,373  
Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]
   

Contract Liabilities

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Deferred revenue - beginning of period

  $ 4,247     $ 1,887  

Acquired in business combinations

    -       69  

Increases due to consideration received from customers

    6,337       4,007  

Revenue recognized

    (5,330 )     (1,716 )

Decrease due to sale of Molded Fiber

    (575 )     -  

Deferred revenue - end of period

  $ 4,679     $ 4,247  
   

Contract Assets

 
   

Years Ended

 
   

December 31,

 
   

2022

   

2021

 
                 

Unbilled Receivables - beginning of period

  $ 74     $ 271  

Increases due to revenue recognized, not invoiced to customers

    3,653       1,815  

Decreases due to customer invoicing

    (3,457 )     (2,012 )

Unbilled Receivables - end of period

  $ 270     $ 74  
XML 46 R32.htm IDEA: XBRL DOCUMENT v3.22.4
Note 4 - Supplemental Cash Flow Information (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]
 

Years Ended December 31,

 
 

2022

 

2021

 

2020

 
       

(in thousands)

       

Cash paid for:

                 

Interest

$ 2,721   $ 53   $ 71  

Income taxes, net of refunds

  13,200     5,914     2,481  
                   

Non-cash investing and financing activities:

                 

Capital additions accrued but not yet paid

$ 125   $ 135   $ 225  

Accrued contingent consideration

  14,568     9,731     -  

Present value of non-competition payments

  10,043     9,477     -  

Finance lease right of use assets

  -     187     108  

Finance lease liabilities

  -     (187 )   (108 )

Operating lease right of use assets

  329     7,782     -  

Operating lease liabilities

  (329 )   (7,782 )   -  
XML 47 R33.htm IDEA: XBRL DOCUMENT v3.22.4
Note 5 - Receivables and Allowance for Credit Losses (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]
   

December 31,

 
   

2022

   

2021

 

Accounts receivable–trade

  $ 55,850     $ 39,903  

Less allowance for credit losses

    (733 )     (519 )

Receivables, net

  $ 55,117     $ 39,384  
Accounts Receivable, Allowance for Credit Loss [Table Text Block]
   

Allowance for Credit Losses

 
   

Year Ended December 31,

 
   

2022

   

2021

 

Allowance - beginning of period

  $ 519     $ 484  

Provision for expected credit losses

    293       179  

Amounts written off against the allowance, net of recoveries

    (40 )     (144 )

Decrease due to sale of Molded Fiber business

    (39 )     -  

Allowance - end of period

  $ 733     $ 519  
XML 48 R34.htm IDEA: XBRL DOCUMENT v3.22.4
Note 6 - Inventories (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
   

December 31,

 
   

2022

   

2021

 

Raw materials

  $ 42,475     $ 22,184  

Work in process

    4,183       4,205  

Finished goods

    6,878       7,047  

Total Inventory

  $ 53,536     $ 33,436  
XML 49 R35.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Goodwill [Table Text Block]
   

2022

   

2021

 
                 

Opening balance

  $ 107,905     $ 51,838  

Acquired in business combinations (See Note 2)

    7,140       56,067  

DAS working capital adjustment

    196       -  

DAS opening balance sheet reclassification

    (243 )     -  

Sale of Molded Fiber

    (1,778 )     -  

Foreign currency translation

    (192 )     -  

Ending balance

  $ 113,028     $ 107,905  
Schedule of Finite-Lived Intangible Assets [Table Text Block]

December 31, 2022

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.3 years

         

Gross amount

  $ 65,174     $ 7,064     $ 5,497     $ 77,735  

Accumulated amortization

    (7,665 )     (727 )     (982 )   $ (9,374 )

Net balance

  $ 57,509     $ 6,337     $ 4,515     $ 68,361  

December 31, 2021

 

Customer
List

   

Intellectual Property / Tradename & Brand

   

Non-
Compete

   

Total

 

Weighted-average useful life

 

20 years

   

11.9 years

   

9.5 years

         

Gross amount

  $ 62,328     $ 4,994     $ 5,245     $ 72,567  

Accumulated amortization

    (4,442 )     (175 )     (365 )   $ (4,982 )

Net balance

  $ 57,886     $ 4,819     $ 4,880     $ 67,585  
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

2023

  $ 4,408  

2024

    4,401  

2025

    4,401  

2026

    4,399  

2027

    4,397  

Thereafter

    46,355  

Total

  $ 68,361  
XML 50 R36.htm IDEA: XBRL DOCUMENT v3.22.4
Note 8 - Property, Plant and Equipment (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Property, Plant and Equipment [Table Text Block]
   

December 31,

 
   

2022

   

2021

 

Land and improvements

  $ 4,811     $ 3,191  

Buildings and improvements

    34,446       36,234  

Leasehold improvements

    5,503       4,859  

Machinery & equipment

    52,233       72,963  

Furniture, fixtures, computers & software

    6,401       6,052  

Construction in progress

    7,272       3,538  

Property, plant and equipment

  $ 110,666     $ 126,837  

Accumulated depreciation and amortization

    (52,594 )     (70,268 )

Net property, plant and equipment

  $ 58,072     $ 56,569  
XML 51 R37.htm IDEA: XBRL DOCUMENT v3.22.4
Note 9 - Debt (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Debt [Table Text Block]
  

December 31,

2022

 

Revolving credit facility

 $19,000 

Term loan

  36,000 

Total long-term debt

  55,000 

Current portion

  (4,000)

Long-term debt, excluding current portion

 $51,000 
Schedule of Maturities of Long-Term Debt [Table Text Block]

Year ended December 31,

 

Term Loan

  

Revolving credit facility

  

Total

 

2023

 $4,000  $-  $4,000 

2024

  4,000   -   4,000 

2025

  4,000   -   4,000 

2026

  24,000   19,000   43,000 
  $36,000  $19,000  $55,000 
XML 52 R38.htm IDEA: XBRL DOCUMENT v3.22.4
Note 10 - Accrued Expenses (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Accrued Liabilities [Table Text Block]
   

December 31,

 
   

2022

   

2021

 

Compensation

  $ 7,949     $ 6,498  

Current portion of contingent consideration

    5,000       4,543  

Current portion of present value of non-competition payments

    1,888       156  

Accrued customer rebates

    3,493       1,241  

Other

    4,792       4,339  
    $ 23,122     $ 16,777  
XML 53 R39.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]
  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 
             

Domestic

 $34,654  $21,205  $16,283 

Foreign

  18,064   -   - 

Total

  52,718   21,205   16,283 
  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Current

            

Federal

 $11,238  $5,793  $2,223 

State

  2,309   1,320   555 

Foreign

  1,863   -   - 

Total Current

  15,410   7,113   2,778 

Deferred

            

Federal

  (3,856)  (1,399)  (28)

State

  (624)  (395)  164 

Foreign

  (1)  -   - 

Total Deferred

  (4,481)  (1,794)  136 

Total income tax provision

 $10,929  $5,319  $2,914 
Schedule of Deferred Tax Assets and Liabilities [Table Text Block]
  

December 31,

 
  

2022

  

2021

 

Deferred tax assets:

        

Reserves

 $450  $380 

Inventory capitalization

  305   706 

Compensation programs

  2,120   1,842 

Equity-based compensation

  690   668 

Lease liability

  3,298   2,427 

Intangible assets

  1,132   877 

Deferred revenue

  1,115   365 

Other

  362   17 

Gross deferred tax assets

  9,472   7,282 

Valuation allowance

  -   (17)

Net deferred tax assets

  9,472   7,265 
         

Deferred tax liabilities:

        

Excess of book over tax basis of fixed assets

  (2,782)  (4,481)

Goodwill

  (2,445)  (3,628)

Right of use asset

  (3,245)  (2,419)

Total deferred tax liabilities

  (8,472)  (10,528)

Net long-term deferred tax assets (liabilities)

 $1,000  $(3,263)
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]
  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

U.S. federal statutory rate

  21.0%  21.0%  21.0%

Increase (decrease) in income taxes resulting from:

            

State taxes, net of federal tax benefit

  3.2   4.0   4.2 

Meals and entertainment

  -   -   0.1 

Tax credits

  (0.7)  (1.7)  (7.2)

Return to provision adjustments

  -   0.7   - 

Foreign rate differential

  (3.7)  -   - 

GILTI impact

  0.8   -   - 

Excess tax benefits on equity awards

  -   -   (1.2)

Excess compensation

  0.8   0.7   0.8 

Other

  (0.7)  0.6   0.2 

Change in valuation allowance

  -   (0.2)  - 

Effective tax rate

  20.7%  25.1%  17.9%
XML 54 R40.htm IDEA: XBRL DOCUMENT v3.22.4
Note 12 - Net Income Per Share (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Weighted Average Number of Shares [Table Text Block]
  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Basic weighted average common shares outstanding during the year

  7,564   7,524   7,484 

Weighted average common equivalent shares due to stock options and restricted stock units

  99   91   84 

Diluted weighted average common shares outstanding during the year

  7,663   7,615   7,568 
XML 55 R41.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Employee Service Share Based Compensation Allocation of Recognized Period Costs, By Award Type [Table Text Block]
  

Years Ended December 31,

 

Share-based compensation related to:

 

2022

  

2021

  

2020

 

Common stock grants

 $400  $400  $400 

Stock option grants

  263   210   232 

Restricted Stock Unit awards

  2,545   1,818   1,175 

Total share-based compensation

 $3,208  $2,428  $1,807 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Years Ended December 31,

 
  

2022

  

2021

  

2020

 

Expected volatility

  34.7%  33.7%  32.8%

Expected dividends

 

None

  

None

  

None

 

Risk-free interest rate

  2.9%  0.8%  0.3%

Exercise price

 $77.28  $57.34  $43.95 

Expected term (years)

  6.2   6.2   6.1 

Weighted-average grant date fair value

 $30.37  $19.60  $14.10 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Shares Under Options

  

Weighted Average Exercise Price
(per share)

  

Weighted Average Remaining Contractual Life
(in years)

  

Aggregate Intrinsic Value
(in thousands)

 
                 

Outstanding December 31, 2021

  98,671  $33.53         

Granted

  9,876   77.28         

Exercised

  (16,472)  23.72         

Outstanding December 31, 2022

  92,075  $39.98   5.95  $7,174 

Exercisable at December 31, 2022

  82,199  $35.50   5.53  $6,773 

Vested and expected to vest at December 31, 2022

  92,075  $39.98   5.95  $7,174 
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
  

Restricted Stock Units

  

Weighted Average Award Date Fair Value

 

Outstanding at December 31, 2021

  101,168  $41.78 

Awarded

  51,981   74.66 

Shares vested

  (49,575)  41.05 

Forfeitures

  (1,244)  63.34 

Outstanding at December 31, 2022

  102,330  $56.02 
Schedule of Future Share-based Compensation Expense [Table Text Block]
  

Options

  

Restricted
Stock Units

  

Total

 

2023

 $131  $2,186  $2,317 

2024

  -   1,287   1,287 

2025

  -   150   150 

Total

 $131  $3,623  $3,754 
XML 56 R42.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Leases, Right-of-Use Assets and Liabilities [Table Text block]
  

December 31,

 
  

2022

  

2021

 

Operating lease ROU assets

 $12,942  $9,053 

Finance lease ROU assets

  211   271 

Total ROU assets

 $13,153  $9,324 
         

Operating lease liabilities - current

 $2,458  $2,181 

Finance lease liabilities - current

  59   58 

Total lease liabilities - current

 $2,517  $2,239 
         

Operating lease liabilities - long-term

 $10,695  $6,903 

Finance lease liabilities - long-term

  156   215 

Total lease liabilities - long-term

 $10,851  $7,118 
Lease, Cost [Table Text Block]
  

Year Ended

 
  

December 31,

 
  

($ in thousands)

 
  

2022

  

2021

 

Lease Cost:

        

Finance lease cost:

        

Amortization of right of use assets

 $60  $27 

Interest on lease liabilities

  5   3 

Operating lease cost

  2,621   1,263 

Variable lease cost

  304   263 

Short-term lease cost

  57   43 

Total lease cost

 $3,047  $1,599 
         

Cash paid for amounts included in measurement of lease liabilities:

        

Operating cash flows from operating leases

 $2,452  $1,284 

Financing cash flows from finance leases

  63   29 

ROU assets obtained in exchange for finance lease obligations

  -   198 
         

Weighted-average remaining lease term (years):

        

Finance

  3.54   4.54 

Operating

  5.34   3.95 

Weighted-average discount rate:

        

Finance

  2.10%  2.10%

Operating

  3.00%  2.63%
Lessee, Operating and Finance Leases, Liability, Maturity [Table Text Block]
  

December 31, 2022

 
  

Finance

  

Operating (a)

 

2023

 $63  $2,492 

2024

  63   2,420 

2025

  63   2,234 

2026

  28   2,012 

2027

  6   1,709 

Thereafter

  -   3,611 

Total lease payments

  223   14,478 

Less: Interest

  (8)  (1,325)

Present value of lease liabilities

 $215  $13,153 
XML 57 R43.htm IDEA: XBRL DOCUMENT v3.22.4
Note 15 - Other Long-term Liabilities (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Other Noncurrent Liabilities [Table Text Block]
  

December 31,

 
  

2022

  

2021

 

Accrued contingent consideration (earn-out)

 $9,568  $5,188 

Present value of non-competition payments

  8,155   9,321 

Other

  497   676 
  $18,220  $15,185 
XML 58 R44.htm IDEA: XBRL DOCUMENT v3.22.4
Note 18 - Fair Value of Financial Instruments (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Fair Value, Assets Measured on Recurring Basis [Table Text Block]

Level 2

 

December 31, 2022

  

December 31, 2021

 

Liabilities:

        

Derivative financial instruments

 $-  $176 

Level 3

        

Purchase price contingent consideration (Note 2):

        

Accrued contingent consideration (earn-out)

 $14,568  $9,731 

Present value of non-competition payments

  10,043   9,477 
XML 59 R45.htm IDEA: XBRL DOCUMENT v3.22.4
Note 19 - Segment Reporting (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]
  

2022

  

2021

  

2020

 

Market

 

Net Sales

  

%

  

Net Sales

  

%

  

Net Sales

  

%

 
                         

Medical

 $286,180   80.9% $132,505   64.2% $120,258   67.2%

Automotive

  17,487   4.9%  15,596   7.6%  14,607   8.1%

Consumer

  17,255   4.9%  26,048   12.6%  18,316   10.2%

Aerospace & Defense

  15,328   4.3%  16,380   7.9%  12,810   7.1%

Industrial

  10,322   2.9%  8,413   4.1%  7,622   4.2%

Electronics

  7,220   2.1%  7,378   3.6%  5,760   3.2%

Net Sales

 $353,792   100.0% $206,320   100.0% $179,373   100.0%
XML 60 R46.htm IDEA: XBRL DOCUMENT v3.22.4
Note 20 - Quarterly Financial Information (Unaudited) (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Quarterly Financial Information [Table Text Block]

2022

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $71,242  $94,343  $96,970  $91,237 

Gross profit

  17,134   24,324   25,523   23,279 

Net income

  4,858   8,929   19,540   8,462 

Basic net income per share

  0.64   1.18   2.58   1.12 

Diluted net income per share

  0.64   1.17   2.56   1.10 

2021

 

Q1

  

Q2

  

Q3

  

Q4

 

Net sales

 $48,599  $50,655  $50,723  $56,343 

Gross profit

  12,609   13,414   12,016   13,075 

Net income

  4,163   4,715   3,789   3,219 

Basic net income per share

  0.55   0.63   0.50   0.43 

Diluted net income per share

  0.55   0.62   0.50   0.42 
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.22.4
Schedule II - Valuation and Qualifying Accounts (Tables)
12 Months Ended
Dec. 31, 2022
Notes Tables  
Summary of Allowance for Doubtful Accounts and Revenue Adjustments [Table Text Block]
  

2022

  

2021

  

2020

 

Balance at beginning of year

 $519  $484  $486 

Provision for bad debt

  293   179   13 

Write-offs, net of recoveries

  (40)  (144)  (15)

Sale of Molded Fiber business

  (39)  -   - 

Balance at end of year

 $733  $519  $484 
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.22.4
Note 1 - Summary of Significant Accounting Policies (Details Textual) - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Cash Equivalents, at Carrying Value, Total $ 0 $ 0  
Treasury Stock, Shares, Acquired (in shares) 0 0 0
Research and Development Expense, Total $ 9,300 $ 8,500 $ 8,200
Increase (Decrease) in Accrued Liabilities, Total 10,446 $ 1,009 $ (537)
Revision of Prior Period, Reclassification, Adjustment [Member]      
Increase (Decrease) in Accrued Liabilities, Total (4,100)    
Increase (Decrease) in Other Noncurrent Liabilities $ (4,100)    
Minimum [Member]      
Finite-Lived Intangible Asset, Useful Life (Year) 5 years    
Maximum [Member]      
Finite-Lived Intangible Asset, Useful Life (Year) 20 years    
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.22.4
Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)
12 Months Ended
Dec. 31, 2022
Machinery and Equipment [Member] | Minimum [Member]  
Buildings and improvements (years) (Year) 7 years
Machinery and Equipment [Member] | Maximum [Member]  
Buildings and improvements (years) (Year) 15 years
Furniture, Fixtures, and Computers [Member] | Minimum [Member]  
Buildings and improvements (years) (Year) 3 years
Furniture, Fixtures, and Computers [Member] | Maximum [Member]  
Buildings and improvements (years) (Year) 7 years
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.22.4
Note 2 - Acquisitions and Divestiture (Details Textual)
$ in Thousands, € in Millions
12 Months Ended
Mar. 17, 2022
USD ($)
Mar. 16, 2022
USD ($)
Mar. 16, 2022
EUR (€)
Dec. 22, 2021
USD ($)
Dec. 21, 2021
USD ($)
Oct. 12, 2021
USD ($)
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Jul. 26, 2022
USD ($)
Gain (Loss) on Disposition of Business             $ 15,651 $ (0) $ (0)  
Payments to Acquire Businesses, Net of Cash Acquired, Total             20,653 96,178 (0)  
Business Combination, Acquisition Related Costs             1,027 430 $ 0  
Advant Medical [Member]                    
Business Acquisition, Percentage of Voting Interests Acquired   100.00% 100.00%              
Payments to Acquire Businesses, Net of Cash Acquired, Total | €     € 19              
Payments to Acquire Businesses, Gross $ 23,608 $ 21,200                
Business Combination, Acquisition Related Costs   $ 789         759 30    
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual             20,000      
Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual             2,400      
DAS Medical [Member]                    
Business Acquisition, Percentage of Voting Interests Acquired       100.00%            
Payments to Acquire Businesses, Net of Cash Acquired, Total       $ 66,700            
Payments to Acquire Businesses, Gross         $ 95,000          
Business Combination, Acquisition Related Costs       448     155 293    
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual               1,400    
Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual               100    
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High       20,000            
Business Combination, Working Capital Adjustment       (115,000) $ 115          
DAS Medical [Member] | Goodwill Agreement [Member]                    
Payments to Acquire Businesses, Gross       20,000            
DAS Medical [Member] | Non-Competition Agreements [Member]                    
Payments to Acquire Businesses, Gross       $ 10,000            
Business Combination, Agreement Term (Year)       10 years            
Contech Medical, Inc [Member]                    
Business Acquisition, Percentage of Voting Interests Acquired           100.00%        
Payments to Acquire Businesses, Net of Cash Acquired, Total           $ 9,500        
Payments to Acquire Businesses, Gross           9,766        
Business Combination, Acquisition Related Costs           153 113 40    
Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual               4,500    
Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual               500    
Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High           5,000        
Business Combination, Contingent Consideration, Liability, Total           $ 500        
molded fiber business (“MFT”) and related real estate in Iowa [Member]                    
Disposal Group, Including Discontinued Operation, Consideration                   $ 31,500
Disposal Group, Including Discontinued Operation, Assets, Noncurrent, Total                   15,400
Gain (Loss) on Disposition of Business             $ 15,700      
Disposal Group, Including Discontinued Operation, Consideration, Held in Escrow                   2,600
Disposal Group, Including Discontinued Operation, Revenue               $ 21,300    
molded fiber business (“MFT”) and related real estate in Iowa [Member] | Scenario, Adjustment [Member]                    
Disposal Group, Including Discontinued Operation, Consideration                   $ 100
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.22.4
Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details) - USD ($)
$ in Thousands
Mar. 17, 2022
Mar. 16, 2022
Dec. 22, 2021
Dec. 21, 2021
Oct. 12, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Goodwill           $ 113,028 $ 107,905 $ 51,838
Advant Medical [Member]                
Cash paid at closing $ 23,608 $ 21,200            
Other liability 395              
Cash from Advant (2,840)              
Total consideration 21,163              
Accounts receivable 2,299              
Inventory 2,410              
Other current assets 213              
Property, plant, and equipment 5,704              
Lease right of use assets 289              
Other assets 41              
Goodwill 7,140              
Total identifiable assets 23,407              
Accounts payable (772)              
Accrued expenses (668)              
Income taxes (66)              
Deferred taxes (449)              
Lease liabilities (289)              
Net assets acquired 21,163              
Total identifiable assets 23,407              
Advant Medical [Member] | Customer Contracts and Relationships [Member]                
Finite-Lived Intangibles 2,925              
Advant Medical [Member] | Intellectual Property [Member]                
Finite-Lived Intangibles 2,127              
Advant Medical [Member] | Noncompete Agreements [Member]                
Finite-Lived Intangibles $ 259              
DAS Medical [Member]                
Cash paid at closing       $ 95,000        
Cash from Advant       (8,316)        
Total consideration       100,612        
Accounts receivable       2,351        
Inventory       7,570        
Other current assets       68        
Property, plant, and equipment       3,314        
Lease right of use assets       1,221        
Goodwill       51,742        
Total identifiable assets       110,073        
Accounts payable       (5,238)        
Accrued expenses       (2,995)        
Lease liabilities       (1,221)        
Net assets acquired       100,612        
Contingent liability (Earn-out)       5,188        
Non-compete agreements       8,855        
Working capital adjustment     $ 115,000 (115)        
Total identifiable assets       110,073        
Deferred revenue       (7)        
DAS Medical [Member] | Customer Contracts and Relationships [Member]                
Finite-Lived Intangibles       36,730        
DAS Medical [Member] | Intellectual Property [Member]                
Finite-Lived Intangibles       2,380        
DAS Medical [Member] | Noncompete Agreements [Member]                
Finite-Lived Intangibles       $ 4,697        
Contech Medical, Inc [Member]                
Cash paid at closing         $ 9,766      
Other liability         500      
Cash from Advant         (266)      
Total consideration         14,543      
Accounts receivable         2,851      
Inventory         2,320      
Other current assets         37      
Property, plant, and equipment         1,170      
Lease right of use assets         1,523      
Goodwill         4,278      
Total identifiable assets         17,555      
Accounts payable         (1,015)      
Accrued expenses         (414)      
Lease liabilities         (1,523)      
Net assets acquired         14,543      
Contingent liability (Earn-out)         4,543      
Total identifiable assets         17,555      
Deferred revenue         (60)      
Contech Medical, Inc [Member] | Customer Contracts and Relationships [Member]                
Finite-Lived Intangibles         3,043      
Contech Medical, Inc [Member] | Intellectual Property [Member]                
Finite-Lived Intangibles         2,247      
Contech Medical, Inc [Member] | Noncompete Agreements [Member]                
Finite-Lived Intangibles         $ 86      
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.22.4
Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Advant Medical [Member]      
Sales $ 358,196 $ 291,403  
Operating Income 56,321 27,729  
Net Income $ 42,311 $ 21,805  
Basic (in dollars per share) $ 5.59 $ 2.90  
Diluted (in dollars per share) $ 5.52 $ 2.86  
Contech Medical, Inc and DAS Medical [Member]      
Sales   $ 269,932 $ 235,328
Operating Income   25,878 22,617
Net Income   $ 20,562 $ 18,354
Basic (in dollars per share)   $ 2.73 $ 2.45
Diluted (in dollars per share)   $ 2.70 $ 2.43
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.22.4
Note 3 - Revenue Recognition (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Deferred Revenue [Member]    
Contract with Customer, Liability, Revenue Recognized $ 2.2 $ 0.8
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.22.4
Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Net sales $ 91,237 $ 96,970 $ 94,343 $ 71,242 $ 56,343 $ 50,723 $ 50,655 $ 48,599 $ 353,792 $ 206,320 $ 179,373
Product [Member]                      
Net sales                 342,742 201,248 172,299
Tooling and Machinery [Member]                      
Net sales                 6,307 1,814 2,787
Engineering and Development [Member]                      
Net sales                 $ 4,743 $ 3,258 $ 4,287
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.22.4
Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Deferred revenue $ 4,247 $ 1,887
Acquired in business combinations 0 69
Increases due to consideration received from customers 6,337 4,007
Revenue recognized (5,330) (1,716)
Decrease due to sale of Molded Fiber (575) 0
Deferred revenue 4,679 4,247
Unbilled Receivables - beginning of period 74 271
Increases due to revenue recognized, not invoiced to customers 3,653 1,815
Decreases due to customer invoicing (3,457) (2,012)
Unbilled Receivables - end of period $ 270 $ 74
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.22.4
Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Cash paid for:      
Interest $ 2,721 $ 53 $ 71
Income taxes, net of refunds 13,200 5,914 2,481
Non-cash investing and financing activities:      
Capital additions accrued but not yet paid 125 135 225
Accrued contingent consideration 14,568 9,731 0
Present value of non-competition payments 10,043 9,477 0
Finance lease right of use assets 0 187 108
Finance lease liabilities 0 (187) (108)
Operating lease right of use assets 329 7,782 0
Operating lease liabilities $ (329) $ (7,782) $ 0
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.22.4
Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Accounts receivable–trade $ 55,850 $ 39,903
Less allowance for credit losses (733) (519)
Receivables, net $ 55,117 $ 39,384
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.22.4
Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Allowance - beginning of period $ 519 $ 484
Provision for expected credit losses 293 179
Amounts written off against the allowance, net of recoveries (40) (144)
Decrease due to sale of Molded Fiber business (39) 0
Allowance - end of period $ 733 $ 519
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.22.4
Note 6 - Inventories - Summary of Inventory (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Raw materials $ 42,475 $ 22,184
Work in process 4,183 4,205
Finished goods 6,878 7,047
Total Inventory $ 53,536 $ 33,436
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Business Acquisition, Goodwill, Expected Tax Deductible Amount $ 106.0    
Amortization of Intangible Assets $ 4.4 $ 1.3 $ 1.3
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Balance $ 107,905 $ 51,838
Acquired in business combinations (See Note 2) 7,140 56,067
DAS working capital adjustment 196 0
DAS opening balance sheet reclassification (243) 0
Sale of Molded Fiber (1,778) 0
Foreign currency translation (192) 0
Balance $ 113,028 $ 107,905
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Gross amount $ 77,735 $ 72,567
Accumulated amortization (9,374) (4,982)
Net balance $ 68,361 $ 67,585
Customer Lists [Member]    
Weighted-average useful life (Year) 20 years 20 years
Gross amount $ 65,174 $ 62,328
Accumulated amortization (7,665) (4,442)
Net balance $ 57,509 $ 57,886
Intellectual Property/ Tradename and Brand [Member]    
Weighted-average useful life (Year) 11 years 10 months 24 days 11 years 10 months 24 days
Gross amount $ 7,064 $ 4,994
Accumulated amortization (727) (175)
Net balance $ 6,337 $ 4,819
Noncompete Agreements [Member]    
Weighted-average useful life (Year) 9 years 3 months 18 days 9 years 6 months
Gross amount $ 5,497 $ 5,245
Accumulated amortization (982) (365)
Net balance $ 4,515 $ 4,880
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.22.4
Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details)
$ in Thousands
Dec. 31, 2022
USD ($)
2023 $ 4,408
2024 4,401
2025 4,401
2026 4,399
2027 4,397
Thereafter 46,355
Total $ 68,361
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.22.4
Note 8 - Property, Plant and Equipment (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Depreciation, Depletion and Amortization, Nonproduction, Total $ 7.5 $ 7.1 $ 7.0
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.22.4
Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Property, plant, and equipment $ 110,666 $ 126,837
Accumulated depreciation and amortization (52,594) (70,268)
Net property, plant and equipment 58,072 56,569
Land and Land Improvements [Member]    
Property, plant, and equipment 4,811 3,191
Building and Building Improvements [Member]    
Property, plant, and equipment 34,446 36,234
Leasehold Improvements [Member]    
Property, plant, and equipment 5,503 4,859
Machinery and Equipment [Member]    
Property, plant, and equipment 52,233 72,963
Furniture, Fixtures, and Computers [Member]    
Property, plant, and equipment 6,401 6,052
Construction in Progress [Member]    
Property, plant, and equipment $ 7,272 $ 3,538
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.22.4
Note 9 - Debt (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 22, 2021
Feb. 01, 2018
Dec. 31, 2022
Dec. 31, 2021
Long-Term Debt, Total     $ 55,000  
Interest Rate Swap [Member]        
Derivative, Notional Amount   $ 20,000 5,700  
Derivative, Term of Contract (Year)   5 years    
Derivative, Fixed Interest Rate   2.70%    
Interest Rate Swap [Member] | Other Nonoperating Income (Expense) [Member]        
Derivative, Gain (Loss) on Derivative, Net, Total     176 $ 24
Interest Rate Swap [Member] | Other Current Liabilities [Member]        
Derivative, Fair Value, Net, Total     0 $ (176)
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member]        
Debt Instrument, Face Amount $ 130,000      
Long-Term Debt, Total     55,000  
Letters of Credit Outstanding, Amount     $ 700  
Debt Instrument, Interest Rate, Stated Percentage     5.20%  
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Bloomberg Short-term Bank Yield Index Rate [Member] | Minimum [Member]        
Debt Instrument, Basis Spread on Variable Rate 1.25%      
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Bloomberg Short-term Bank Yield Index Rate [Member] | Maximum [Member]        
Debt Instrument, Basis Spread on Variable Rate 2.00%      
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Prime Rate [Member] | Minimum [Member]        
Debt Instrument, Basis Spread on Variable Rate 0.25%      
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Prime Rate [Member] | Maximum [Member]        
Debt Instrument, Basis Spread on Variable Rate 0.00%      
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Secured Revolving Credit Facility [Member]        
Line of Credit Facility, Maximum Borrowing Capacity $ 90,000      
Subsidiary Guarantors [Member] | Second Amended and Restated Credit Agreement [Member] | Secured Term Loan [Member]        
Debt Instrument, Face Amount 40,000      
Debt Instrument, Periodic Payment, Principal $ 1,000      
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.22.4
Note 9 - Debt - Long-term Debt (Details) - USD ($)
$ in Millions
Dec. 31, 2022
Dec. 31, 2021
Total long-term debt $ 55  
Current portion (4) $ (4)
Long-term debt, excluding current portion 51 $ 71
Term Loan [Member]    
Total long-term debt 36  
Revolving Credit Facility [Member] | Line of Credit [Member]    
Total long-term debt $ 19  
XML 82 R68.htm IDEA: XBRL DOCUMENT v3.22.4
Note 9 - Debt - Schedule of Maturity (Details)
$ in Thousands
Dec. 31, 2022
USD ($)
2023 $ 4,000
2024 4,000
2025 4,000
2026 43,000
Long-Term Debt, Total 55,000
Line of Credit [Member] | Revolving Credit Facility [Member]  
2023 0
2024 0
2025 0
2026 19,000
Long-Term Debt, Total 19,000
Term Loan [Member]  
2023 4,000
2024 4,000
2025 4,000
2026 24,000
Long-Term Debt, Total $ 36,000
XML 83 R69.htm IDEA: XBRL DOCUMENT v3.22.4
Note 10 - Accrued Expenses - Accrued Expenses (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Compensation $ 7,949 $ 6,498
Current portion of contingent consideration 5,000 4,543
Current portion of present value of non-competition payments 1,888 156
Accrued customer rebates 3,493 1,241
Other 4,792 4,339
Accrued expenses $ 23,122 $ 16,777
XML 84 R70.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Deferred Tax Assets, Gross, Total $ 9,472 $ 7,282  
Deferred Tax Assets, Valuation Allowance $ (0) $ 17  
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent 21.00% 21.00% 21.00%
Unrecognized Tax Benefits, Ending Balance $ 0 $ 0  
Domestic Tax Authority [Member]      
Open Tax Year 2019 2020 2021 2022    
Foreign Tax Authority [Member]      
Open Tax Year 2018 2019 2020 2021 2022    
XML 85 R71.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax - Income Tax Provision (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Domestic $ 34,654 $ 21,205 $ 16,283
Foreign 18,064 0 0
Income before income tax provision 52,718 21,205 16,283
Federal 11,238 5,793 2,223
State 2,309 1,320 555
Foreign 1,863 0 0
Total Current 15,410 7,113 2,778
Federal (3,856) (1,399) (28)
State (624) (395) 164
Foreign (1) 0 0
Total Deferred (4,481) (1,794) 136
Total income tax provision $ 10,929 $ 5,319 $ 2,914
XML 86 R72.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Reserves $ 450 $ 380
Inventory capitalization 305 706
Compensation programs 2,120 1,842
Equity-based compensation 690 668
Lease liability 3,298 2,427
Intangible assets 1,132 877
Deferred revenue 1,115 365
Other 362 17
Gross deferred tax assets 9,472 7,282
Valuation allowance 0 (17)
Net deferred tax assets 9,472 7,265
Excess of book over tax basis of fixed assets (2,782) (4,481)
Goodwill (2,445) (3,628)
Right of use asset (3,245) (2,419)
Total deferred tax liabilities (8,472) (10,528)
Net long-term deferred tax assets (liabilities) $ 1,000 $ (3,263)
XML 87 R73.htm IDEA: XBRL DOCUMENT v3.22.4
Note 11 - Income Tax - Income Tax Rate Reconciliation (Details)
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
U.S. federal statutory rate 21.00% 21.00% 21.00%
State taxes, net of federal tax benefit 3.20% 4.00% 4.20%
Meals and entertainment 0.00% 0.00% 0.10%
Tax credits (0.70%) (1.70%) (7.20%)
Return to provision adjustments 0.00% 0.70% 0.00%
Foreign rate differential (3.70%) 0.00% 0.00%
GILTI impact 0.80% 0.00% 0.00%
Excess tax benefits on equity awards 0.00% 0.00% (1.20%)
Excess compensation 0.80% 0.70% 0.80%
Other 0.70% (0.60%) (0.20%)
Change in valuation allowance 0.00% 0.20% 0.00%
Effective tax rate 20.70% 25.10% 17.90%
XML 88 R74.htm IDEA: XBRL DOCUMENT v3.22.4
Note 12 - Net Income Per Share (Details Textual) - shares
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) 9,876 10,716 14,892
XML 89 R75.htm IDEA: XBRL DOCUMENT v3.22.4
Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) - shares
shares in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Basic weighted average common shares outstanding during the year (in shares) 7,564 7,524 7,484
Weighted average common equivalent shares due to stock options and restricted stock units (in shares) 99 91 84
Diluted weighted average common shares outstanding during the year (in shares) 7,663 7,615 7,568
XML 90 R76.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation (Details Textual) - USD ($)
$ / shares in Units, $ in Thousands
7 Months Ended 12 Months Ended 235 Months Ended
Dec. 31, 2022
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2022
Jun. 09, 2022
Jun. 08, 2022
Proceeds from Stock Options Exercised   $ 390 $ 162 $ 474      
Employee and Nonemployee Stock Option [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)   9,876          
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) 92,075 92,075 98,671   92,075    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value   $ 1,200 $ 200 800      
Proceeds from Stock Options Exercised   $ 400 $ 200 $ 500      
Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)   1,876 0 0      
Shares Paid For Tax Withholding For Share Based Compensation, Average Market Price (in dollars per share)   $ 95.82          
Restricted Stock Units (RSUs) [Member]              
Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)   19,425 14,190 11,423      
Shares Paid for Tax Withholding for Share Based Compensation Market Price (in dollars per share)   $ 67.05 $ 52.55 $ 49.91      
The 2003 Incentive Plan [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares)         1,327,064    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)         185,000    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) 0 0     0    
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) 738,769 738,769     738,769    
The 2003 Incentive Plan [Member] | Restricted Stock [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares)         0    
Common Stock, Capital Shares Reserved for Future Issuance (in shares) 98,448 98,448     98,448    
Nonemployee Director Stock Incentive Plan [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares) 400,510            
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number, Ending Balance (in shares) 93,302 93,302     93,302    
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)           1,075,000 975,000
Share-Based Payment Arrangement, Expense, Tax Benefit   $ 1,300 $ 800 $ 700      
Nonemployee Director Stock Incentive Plan [Member] | Restricted Stock [Member]              
Common Stock, Capital Shares Reserved for Future Issuance (in shares) 3,882 3,882     3,882    
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) 131,846 131,846     131,846    
XML 91 R77.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation - Compensation Cost (Details) - Selling, General and Administrative Expenses [Member] - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Share-based compensation $ 3,208 $ 2,428 $ 1,807
Common Stock [Member]      
Share-based compensation 400 400 400
Employee and Nonemployee Stock Option [Member]      
Share-based compensation 263 210 232
Restricted Stock Units (RSUs) [Member]      
Share-based compensation $ 2,545 $ 1,818 $ 1,175
XML 92 R78.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details) - $ / shares
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Expected volatility 34.70% 33.70% 32.80%
Expected dividends 0.00% 0.00% 0.00%
Risk-free interest rate 2.90% 0.80% 0.30%
Exercise price (in dollars per share) $ 77.28 $ 57.34 $ 43.95
Expected term (years) (Year) 6 years 2 months 12 days 6 years 2 months 12 days 6 years 1 month 6 days
Weighted-average grant date fair value (in dollars per share) $ 30.37 $ 19.60 $ 14.10
XML 93 R79.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details) - Employee and Nonemployee Stock Option [Member] - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2022
Outstanding, shares under options (in shares) 98,671
Outstanding, weighted average exercise price (in dollars per share) $ 33.53
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares) 9,876
Granted (in dollars per share) $ 77.28
Exercised, shares under options (in shares) (16,472)
Granted, weighted average exercise price (in dollars per share) $ 23.72
Outstanding, shares under options (in shares) 92,075
Outstanding, weighted average exercise price (in dollars per share) $ 39.98
Outstanding, weighted average remaining contractual life (Year) 5 years 11 months 12 days
Outstanding, aggregate intrinsic value $ 7,174
Exercisable, shares under options (in shares) 82,199
Exercisable, weighted average exercise price (in dollars per share) $ 35.50
Exercisable, weighted average remaining contractual life (Year) 5 years 6 months 10 days
Exercisable, aggregate intrinsic value $ 6,773
Vested and expected to vest, shares under options (in shares) 92,075
Vested and expected to vest, weighted average exercise price (in dollars per share) $ 39.98
Vested and expected to vest, weighted average remaining contractual life (Year) 5 years 11 months 12 days
Vested and expected to vest, aggregate intrinsic value $ 7,174
XML 94 R80.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details) - Restricted Stock Units (RSUs) [Member]
12 Months Ended
Dec. 31, 2022
$ / shares
shares
Outstanding, restricted stock units (in shares) | shares 101,168
Outstanding, weighted average award date fair value (in dollars per share) | $ / shares $ 41.78
Awarded, restricted stock units (in shares) | shares 51,981
Awarded, weighted average award date fair value (in dollars per share) | $ / shares $ 74.66
Shares vested, restricted stock units (in shares) | shares (49,575)
Shares vested, weighted average award date fair value (in dollars per share) | $ / shares $ 41.05
Forfeitures, restricted stock units (in shares) | shares (1,244)
Forfeitures, weighted average award date fair value (in dollars per share) | $ / shares $ 63.34
Outstanding, restricted stock units (in shares) | shares 102,330
Outstanding, weighted average award date fair value (in dollars per share) | $ / shares $ 56.02
XML 95 R81.htm IDEA: XBRL DOCUMENT v3.22.4
Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details)
$ in Thousands
Dec. 31, 2022
USD ($)
2023 $ 2,317
2024 1,287
2025 150
Total 3,754
Employee and Nonemployee Stock Option [Member]  
2023 131
2024 0
2025 0
Total 131
Restricted Stock Units (RSUs) [Member]  
2023 2,186
2024 1,287
2025 150
Total $ 3,623
XML 96 R82.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases (Details Textual) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Sublease Income $ 2.1    
Operating Lease, Expense $ 2.6 $ 1.4 $ 1.3
XML 97 R83.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Total ROU assets $ 13,153 $ 9,324
Total lease liabilities - current 2,517 2,239
Total lease liabilities - long-term 10,851 7,118
Right of Use Assets [Member]    
Operating lease ROU assets 12,942 9,053
Finance lease ROU assets 211 271
Total ROU assets 13,153 9,324
Lease Liabilities, Current [Member]    
Operating lease liabilities - current 2,458 2,181
Finance lease liabilities - current 59 58
Total lease liabilities - current 2,517 2,239
Lease Liabilities, Noncurrent [Member]    
Operating lease liabilities - long-term 10,695 6,903
Finance lease liabilities - long-term 156 215
Total lease liabilities - long-term $ 10,851 $ 7,118
XML 98 R84.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases - Lease Cost (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Lease Cost:      
Amortization of right of use assets $ 60 $ 27  
Interest on lease liabilities 5 3  
Operating lease cost 2,621 1,263  
Variable lease cost 304 263  
Short-term lease cost 57 43  
Total lease cost 3,047 1,599  
Operating cash flows from operating leases 2,452 1,284  
Financing cash flows from finance leases 63 29 $ 11
ROU assets obtained in exchange for finance lease obligations $ 0 $ 198  
Finance (Year) 3 years 6 months 14 days    
Operating (Year) 5 years 4 months 2 days 3 years 11 months 12 days  
Finance 2.10% 2.10%  
Operating 3.00% 2.63%  
XML 99 R85.htm IDEA: XBRL DOCUMENT v3.22.4
Note 14 - Leases - Aggregate Future Lease Payments (Details)
$ in Thousands
Dec. 31, 2022
USD ($)
2023, finance $ 63
2023, operating 2,492
2024, finance 63
2024, operating 2,420
2025, finance 63
2025, operating 2,234
2026, finance 28
2026, operating 2,012
2027, finance 6
2027, operating 1,709
Thereafter, finance 0
Thereafter, operating 3,611
Total lease payments, finance 223
Total lease payments, operating 14,478
Less: Interest, finance (8)
Less: Interest, operating (1,325)
Present value of lease liabilities, finance 215
Present value of lease liabilities, operating $ 13,153
XML 100 R86.htm IDEA: XBRL DOCUMENT v3.22.4
Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Accrued contingent consideration (earn-out) $ 9,568 $ 5,188
Present value of non-competition payments 8,155 9,321
Other 497 676
Other Liabilities, Noncurrent $ 18,220 $ 15,185
XML 101 R87.htm IDEA: XBRL DOCUMENT v3.22.4
Note 17 - Employee Benefit Plans (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Defined Contribution Plan, Cost $ 700 $ 600 $ 900
Self-insured Health Insurance Program, Stop Loss Amount 225    
Deferred Compensation Liability, Classified, Noncurrent, Total 4,167 4,337  
Assets for Plan Benefits, Defined Benefit Plan $ 4,100 $ 4,300  
XML 102 R88.htm IDEA: XBRL DOCUMENT v3.22.4
Note 18 - Fair Value of Financial Instruments (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 22, 2021
Dec. 21, 2021
Dec. 31, 2021
Dec. 31, 2022
Dec. 31, 2020
Present Value of Non-competition Agreement     $ 9,477 $ 10,043 $ 0
Contech Medical, Inc and DAS Medical [Member]          
Business Combination, Consideration Transferred, Liabilities Incurred     $ 25,000    
Business Combination, Contingent Consideration, Liability, Total       9,700  
DAS Medical [Member]          
Business Combination, Consideration Transferred, Liabilities Incurred   $ 5,188      
Payments to Acquire Businesses, Gross   $ 95,000      
Present Value of Non-competition Agreement       $ 8,900  
DAS Medical [Member] | Non-Competition Agreements [Member]          
Payments to Acquire Businesses, Gross $ 10,000        
Business Combination, Agreement Term (Year) 10 years        
XML 103 R89.htm IDEA: XBRL DOCUMENT v3.22.4
Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Present value of non-competition payments $ 10,043 $ 9,477 $ 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member] | Other Current Liabilities [Member]      
Derivative financial instruments 0 176  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]      
Accrued contingent consideration (earn-out) 14,568 9,731  
Present value of non-competition payments $ (10,043) $ (9,477)  
XML 104 R90.htm IDEA: XBRL DOCUMENT v3.22.4
Note 19 - Segment Reporting (Details Textual)
3 Months Ended 12 Months Ended
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Number of Operating Segments   1  
Number of Reportable Segments   1  
Customer Concentration Risk [Member] | Revenue Benchmark [Member]      
Number of Major Customers 0 1  
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | One Customer [Member]      
Concentration Risk, Percentage   21.00%  
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Geographic Distribution, Foreign [Member]      
Concentration Risk, Percentage   16.00%  
Customer Concentration Risk [Member] | Accounts Receivable [Member]      
Number of Major Customers   1 1
Customer Concentration Risk [Member] | Accounts Receivable [Member] | One Customer [Member]      
Concentration Risk, Percentage   10.00%  
Customer Concentration Risk [Member] | Long-Lived Assets [Member] | Geographic Distribution, Foreign [Member]      
Concentration Risk, Percentage   17.00%  
XML 105 R91.htm IDEA: XBRL DOCUMENT v3.22.4
Note 19 - Segment Reporting - Net Sales by Market (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Net sales $ 91,237 $ 96,970 $ 94,343 $ 71,242 $ 56,343 $ 50,723 $ 50,655 $ 48,599 $ 353,792 $ 206,320 $ 179,373
Percentage of concentration risk [1]                 100.00% 100.00% 100.00%
Medical [Member]                      
Net sales                 $ 286,180 $ 132,505 $ 120,258
Percentage of concentration risk [1]                 80.90% 64.20% 67.20%
Automotive [Member]                      
Net sales                 $ 17,487 $ 15,596 $ 14,607
Percentage of concentration risk [1]                 4.90% 7.60% 8.10%
Consumer [Member]                      
Net sales                 $ 17,255 $ 26,048 $ 18,316
Percentage of concentration risk [1]                 4.90% 12.60% 10.20%
Aerospace & Defense [Member]                      
Net sales                 $ 15,328 $ 16,380 $ 12,810
Percentage of concentration risk [1]                 4.30% 7.90% 7.10%
Industrial [Member]                      
Net sales                 $ 10,322 $ 8,413 $ 7,622
Percentage of concentration risk [1]                 2.90% 4.10% 4.20%
Electronics [Member]                      
Net sales                 $ 7,220 $ 7,378 $ 5,760
Percentage of concentration risk [1]                 2.10% 3.60% 3.20%
[1] Certain amounts for the three and nine months ended September 30, 2021, were reclassified between markets to conform to the current period presentation.
XML 106 R92.htm IDEA: XBRL DOCUMENT v3.22.4
Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Net sales $ 91,237 $ 96,970 $ 94,343 $ 71,242 $ 56,343 $ 50,723 $ 50,655 $ 48,599 $ 353,792 $ 206,320 $ 179,373
Gross profit 23,279 25,523 24,324 17,134 13,075 12,016 13,414 12,609 $ 90,260 $ 51,114 $ 44,684
Net income $ 8,462 $ 19,540 $ 8,929 $ 4,858 $ 3,219 $ 3,789 $ 4,715 $ 4,163      
Basic net income per share (in dollars per share) $ 1.12 $ 2.58 $ 1.18 $ 0.64 $ 0.43 $ 0.50 $ 0.63 $ 0.55 $ 5.52 $ 2.11 $ 1.79
Diluted net income per share (in dollars per share) $ 1.10 $ 2.56 $ 1.17 $ 0.64 $ 0.42 $ 0.50 $ 0.62 $ 0.55 $ 5.45 $ 2.09 $ 1.77
XML 107 R93.htm IDEA: XBRL DOCUMENT v3.22.4
Schedule II - Valuation and Qualifying Accounts (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Balance at beginning of year $ 519 $ 484 $ 486
Provision for bad debt 293 179 13
Write-offs, net of recoveries (40) (144) (15)
Sale of Molded Fiber business (39) 0 0
Balance at end of year $ 733 $ 519 $ 484
XML 108 ufpt20221231_10k_htm.xml IDEA: XBRL DOCUMENT 0000914156 2022-01-01 2022-12-31 0000914156 2022-06-30 0000914156 2023-03-10 0000914156 2022-12-31 0000914156 2021-12-31 0000914156 2021-01-01 2021-12-31 0000914156 2020-01-01 2020-12-31 0000914156 ufpt:CommonStockOutstandingMember 2019-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0000914156 us-gaap:RetainedEarningsMember 2019-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000914156 us-gaap:TreasuryStockMember 2019-12-31 0000914156 2019-12-31 0000914156 ufpt:CommonStockOutstandingMember 2020-01-01 2020-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-12-31 0000914156 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0000914156 us-gaap:TreasuryStockMember 2020-01-01 2020-12-31 0000914156 ufpt:CommonStockOutstandingMember 2020-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0000914156 us-gaap:RetainedEarningsMember 2020-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0000914156 us-gaap:TreasuryStockMember 2020-12-31 0000914156 2020-12-31 0000914156 ufpt:CommonStockOutstandingMember 2021-01-01 2021-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0000914156 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0000914156 us-gaap:TreasuryStockMember 2021-01-01 2021-12-31 0000914156 ufpt:CommonStockOutstandingMember 2021-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0000914156 us-gaap:RetainedEarningsMember 2021-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0000914156 us-gaap:TreasuryStockMember 2021-12-31 0000914156 ufpt:CommonStockOutstandingMember 2022-01-01 2022-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0000914156 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0000914156 us-gaap:TreasuryStockMember 2022-01-01 2022-12-31 0000914156 ufpt:CommonStockOutstandingMember 2022-12-31 0000914156 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000914156 us-gaap:RetainedEarningsMember 2022-12-31 0000914156 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000914156 us-gaap:TreasuryStockMember 2022-12-31 0000914156 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2022-01-01 2022-12-31 0000914156 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2022-01-01 2022-12-31 0000914156 srt:MinimumMember ufpt:FurnitureFixturesAndComputersMember 2022-01-01 2022-12-31 0000914156 srt:MaximumMember ufpt:FurnitureFixturesAndComputersMember 2022-01-01 2022-12-31 0000914156 srt:MinimumMember 2022-01-01 2022-12-31 0000914156 srt:MaximumMember 2022-01-01 2022-12-31 0000914156 srt:RevisionOfPriorPeriodReclassificationAdjustmentMember 2022-01-01 2022-12-31 0000914156 ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember 2022-07-26 0000914156 us-gaap:ScenarioAdjustmentMember ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember 2022-07-26 0000914156 ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember 2022-01-01 2022-12-31 0000914156 ufpt:MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember 2021-01-01 2021-12-31 0000914156 ufpt:AdvantMedicalMember 2022-03-16 0000914156 ufpt:AdvantMedicalMember 2022-03-16 2022-03-16 0000914156 ufpt:AdvantMedicalMember 2022-03-17 2022-03-17 0000914156 ufpt:AdvantMedicalMember 2022-03-17 0000914156 ufpt:AdvantMedicalMember ufpt:CustomerContractsAndRelationshipsMember 2022-03-17 0000914156 ufpt:AdvantMedicalMember us-gaap:IntellectualPropertyMember 2022-03-17 0000914156 ufpt:AdvantMedicalMember us-gaap:NoncompeteAgreementsMember 2022-03-17 0000914156 ufpt:AdvantMedicalMember 2022-01-01 2022-12-31 0000914156 ufpt:AdvantMedicalMember 2021-01-01 2021-12-31 0000914156 ufpt:DasMedicalMember 2021-12-22 0000914156 ufpt:DasMedicalMember 2021-12-22 2021-12-22 0000914156 ufpt:DasMedicalMember ufpt:GoodwillAgreementMember 2021-12-22 2021-12-22 0000914156 ufpt:DasMedicalMember ufpt:NoncompetitionAgreementsMember 2021-12-22 2021-12-22 0000914156 ufpt:DasMedicalMember 2021-12-21 2021-12-21 0000914156 ufpt:DasMedicalMember 2021-12-21 0000914156 ufpt:DasMedicalMember ufpt:CustomerContractsAndRelationshipsMember 2021-12-21 0000914156 ufpt:DasMedicalMember us-gaap:IntellectualPropertyMember 2021-12-21 0000914156 ufpt:DasMedicalMember us-gaap:NoncompeteAgreementsMember 2021-12-21 0000914156 ufpt:DasMedicalMember 2022-01-01 2022-12-31 0000914156 ufpt:DasMedicalMember 2021-01-01 2021-12-31 0000914156 ufpt:ContechMedicalIncMember 2021-10-12 0000914156 ufpt:ContechMedicalIncMember 2021-10-12 2021-10-12 0000914156 ufpt:ContechMedicalIncMember ufpt:CustomerContractsAndRelationshipsMember 2021-10-12 0000914156 ufpt:ContechMedicalIncMember us-gaap:IntellectualPropertyMember 2021-10-12 0000914156 ufpt:ContechMedicalIncMember us-gaap:NoncompeteAgreementsMember 2021-10-12 0000914156 ufpt:ContechMedicalIncMember 2022-01-01 2022-12-31 0000914156 ufpt:ContechMedicalIncMember 2021-01-01 2021-12-31 0000914156 ufpt:ContechMedicalIncAndDasMedicalMember 2021-01-01 2021-12-31 0000914156 ufpt:ContechMedicalIncAndDasMedicalMember 2020-01-01 2020-12-31 0000914156 us-gaap:ProductMember 2022-01-01 2022-12-31 0000914156 us-gaap:ProductMember 2021-01-01 2021-12-31 0000914156 us-gaap:ProductMember 2020-01-01 2020-12-31 0000914156 ufpt:ToolingAndMachineryMember 2022-01-01 2022-12-31 0000914156 ufpt:ToolingAndMachineryMember 2021-01-01 2021-12-31 0000914156 ufpt:ToolingAndMachineryMember 2020-01-01 2020-12-31 0000914156 ufpt:EngineeringAndDevelopmentMember 2022-01-01 2022-12-31 0000914156 ufpt:EngineeringAndDevelopmentMember 2021-01-01 2021-12-31 0000914156 ufpt:EngineeringAndDevelopmentMember 2020-01-01 2020-12-31 0000914156 ufpt:DeferredRevenueMember 2022-01-01 2022-12-31 0000914156 ufpt:DeferredRevenueMember 2021-01-01 2021-12-31 0000914156 us-gaap:CustomerListsMember 2022-01-01 2022-12-31 0000914156 ufpt:IntellectualPropertyTradenameAndBrandMember 2022-01-01 2022-12-31 0000914156 us-gaap:NoncompeteAgreementsMember 2022-01-01 2022-12-31 0000914156 us-gaap:CustomerListsMember 2022-12-31 0000914156 ufpt:IntellectualPropertyTradenameAndBrandMember 2022-12-31 0000914156 us-gaap:NoncompeteAgreementsMember 2022-12-31 0000914156 us-gaap:CustomerListsMember 2021-01-01 2021-12-31 0000914156 ufpt:IntellectualPropertyTradenameAndBrandMember 2021-01-01 2021-12-31 0000914156 us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-12-31 0000914156 us-gaap:CustomerListsMember 2021-12-31 0000914156 ufpt:IntellectualPropertyTradenameAndBrandMember 2021-12-31 0000914156 us-gaap:NoncompeteAgreementsMember 2021-12-31 0000914156 us-gaap:LandAndLandImprovementsMember 2022-12-31 0000914156 us-gaap:LandAndLandImprovementsMember 2021-12-31 0000914156 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0000914156 us-gaap:BuildingAndBuildingImprovementsMember 2021-12-31 0000914156 us-gaap:LeaseholdImprovementsMember 2022-12-31 0000914156 us-gaap:LeaseholdImprovementsMember 2021-12-31 0000914156 us-gaap:MachineryAndEquipmentMember 2022-12-31 0000914156 us-gaap:MachineryAndEquipmentMember 2021-12-31 0000914156 ufpt:FurnitureFixturesAndComputersMember 2022-12-31 0000914156 ufpt:FurnitureFixturesAndComputersMember 2021-12-31 0000914156 us-gaap:ConstructionInProgressMember 2022-12-31 0000914156 us-gaap:ConstructionInProgressMember 2021-12-31 0000914156 ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember 2021-12-22 0000914156 ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember ufpt:SecuredTermLoanMember 2021-12-22 0000914156 ufpt:SecuredRevolvingCreditFacilityMember ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember 2021-12-22 0000914156 ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember ufpt:SecuredTermLoanMember 2021-12-22 2021-12-22 0000914156 srt:MinimumMember ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember ufpt:BloombergShorttermBankYieldIndexRateMember 2021-12-22 2021-12-22 0000914156 srt:MaximumMember ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember ufpt:BloombergShorttermBankYieldIndexRateMember 2021-12-22 2021-12-22 0000914156 srt:MinimumMember ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember us-gaap:PrimeRateMember 2021-12-22 2021-12-22 0000914156 srt:MaximumMember ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember us-gaap:PrimeRateMember 2021-12-22 2021-12-22 0000914156 ufpt:SecondAmendedAndRestatedCreditAgreementMember ufpt:SubsidiaryGuarantorsMember 2022-12-31 0000914156 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2022-12-31 0000914156 ufpt:TermLoanMember 2022-12-31 0000914156 us-gaap:InterestRateSwapMember 2018-02-01 0000914156 us-gaap:InterestRateSwapMember 2018-02-01 2018-02-01 0000914156 us-gaap:InterestRateSwapMember 2022-12-31 0000914156 us-gaap:OtherCurrentLiabilitiesMember us-gaap:InterestRateSwapMember 2022-12-31 0000914156 us-gaap:OtherCurrentLiabilitiesMember us-gaap:InterestRateSwapMember 2021-12-31 0000914156 us-gaap:InterestRateSwapMember us-gaap:OtherNonoperatingIncomeExpenseMember 2022-01-01 2022-12-31 0000914156 us-gaap:InterestRateSwapMember us-gaap:OtherNonoperatingIncomeExpenseMember 2021-01-01 2021-12-31 0000914156 us-gaap:DomesticCountryMember 2022-01-01 2022-12-31 0000914156 us-gaap:ForeignCountryMember 2022-01-01 2022-12-31 0000914156 ufpt:The2003IncentivePlanMember 2003-06-01 2022-12-31 0000914156 us-gaap:RestrictedStockMember ufpt:The2003IncentivePlanMember 2003-06-01 2022-12-31 0000914156 us-gaap:RestrictedStockMember ufpt:The2003IncentivePlanMember 2022-12-31 0000914156 ufpt:The2003IncentivePlanMember 2022-12-31 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-06-08 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-06-09 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-06-10 2022-12-31 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-12-31 0000914156 us-gaap:RestrictedStockMember ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-12-31 0000914156 us-gaap:CommonStockMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000914156 us-gaap:CommonStockMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0000914156 us-gaap:CommonStockMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-12-31 0000914156 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000914156 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0000914156 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-12-31 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2022-01-01 2022-12-31 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2021-01-01 2021-12-31 0000914156 ufpt:NonemployeeDirectorStockIncentivePlanMember 2020-01-01 2020-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember 2021-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember 2022-01-01 2022-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember 2022-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember 2021-01-01 2021-12-31 0000914156 ufpt:EmployeeAndNonemployeeStockOptionMember 2020-01-01 2020-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember 2021-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0000914156 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0000914156 ufpt:RightOfUseAssetsMember 2022-12-31 0000914156 ufpt:RightOfUseAssetsMember 2021-12-31 0000914156 ufpt:LeaseLiabilitiesCurrentMember 2022-12-31 0000914156 ufpt:LeaseLiabilitiesCurrentMember 2021-12-31 0000914156 ufpt:LeaseLiabilitiesNoncurrentMember 2022-12-31 0000914156 ufpt:LeaseLiabilitiesNoncurrentMember 2021-12-31 0000914156 us-gaap:OtherCurrentLiabilitiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0000914156 us-gaap:OtherCurrentLiabilitiesMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0000914156 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0000914156 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0000914156 ufpt:ContechMedicalIncAndDasMedicalMember 2022-12-31 0000914156 ufpt:DasMedicalMember 2022-12-31 0000914156 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember us-gaap:GeographicDistributionForeignMember 2022-01-01 2022-12-31 0000914156 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000914156 ufpt:OneCustomerMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000914156 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0000914156 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000914156 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000914156 ufpt:OneCustomerMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000914156 ufpt:LonglivedAssetsMember us-gaap:CustomerConcentrationRiskMember us-gaap:GeographicDistributionForeignMember 2022-01-01 2022-12-31 0000914156 ufpt:MedicalMember 2022-01-01 2022-12-31 0000914156 ufpt:MedicalMember 2021-01-01 2021-12-31 0000914156 ufpt:MedicalMember 2020-01-01 2020-12-31 0000914156 ufpt:AutomotiveMember 2022-01-01 2022-12-31 0000914156 ufpt:AutomotiveMember 2021-01-01 2021-12-31 0000914156 ufpt:AutomotiveMember 2020-01-01 2020-12-31 0000914156 ufpt:ConsumerMember 2022-01-01 2022-12-31 0000914156 ufpt:ConsumerMember 2021-01-01 2021-12-31 0000914156 ufpt:ConsumerMember 2020-01-01 2020-12-31 0000914156 ufpt:AerospaceDefenseMember 2022-01-01 2022-12-31 0000914156 ufpt:AerospaceDefenseMember 2021-01-01 2021-12-31 0000914156 ufpt:AerospaceDefenseMember 2020-01-01 2020-12-31 0000914156 ufpt:IndustrialMember 2022-01-01 2022-12-31 0000914156 ufpt:IndustrialMember 2021-01-01 2021-12-31 0000914156 ufpt:IndustrialMember 2020-01-01 2020-12-31 0000914156 ufpt:ElectronicsMember 2022-01-01 2022-12-31 0000914156 ufpt:ElectronicsMember 2021-01-01 2021-12-31 0000914156 ufpt:ElectronicsMember 2020-01-01 2020-12-31 0000914156 2022-01-01 2022-03-31 0000914156 2022-04-01 2022-06-30 0000914156 2022-07-01 2022-09-30 0000914156 2022-10-01 2022-12-31 0000914156 2021-01-01 2021-03-31 0000914156 2021-04-01 2021-06-30 0000914156 2021-07-01 2021-09-30 0000914156 2021-10-01 2021-12-31 iso4217:USD shares thunderdome:item iso4217:USD shares utr:Y pure iso4217:EUR 0000914156 UFP TECHNOLOGIES INC false --12-31 FY 2022 0.01 0.01 1000000 1000000 0 0 0.01 0.01 20000000 20000000 7611244 7581685 7564645 7535086 29559 29559 0 0 0 0 0 19000000.0 P20Y P11Y10M24D P9Y3M18D P20Y P11Y10M24D P9Y6M 0.0025 0 2019 2020 2021 2022 2018 2019 2020 2021 2022 0 0 9876 10716 14892 0 0 0 0 0 P10Y 1 1 1 1 1 10-K true 2022-12-31 false 001-12648 DE 04-2314970 100 Hale Street Newburyport MA 01950-3504 978 352-2200 Common Stock UFPT NASDAQ No No Yes Yes Accelerated Filer false false false false 552925326 7610051 248 GRANT THORNTON LLP Boston, Massachusetts 4451000 11117000 55117000 39384000 53536000 33436000 3242000 3383000 116346000 87320000 58072000 56569000 113028000 107905000 68361000 67585000 4148000 4327000 13153000 9324000 1448000 0 3636000 1102000 378192000 334132000 19961000 10611000 23122000 16777000 4679000 4247000 2517000 2239000 1682000 909000 4000000 4000000 55961000 38783000 51000000 71000000 448000 3263000 4167000 4337000 10851000 7118000 18220000 15185000 140647000 139686000 0 0 76000 75000 36070000 34151000 202596000 160807000 -610000 0 587000 587000 237545000 194446000 378192000 334132000 353792000 206320000 179373000 263532000 155206000 134689000 90260000 51114000 44684000 45796000 29480000 27493000 1027000 430000 0 9837000 0 0 15651000 -0 -0 6149000 14000 -459000 55400000 21218000 16732000 2763000 39000 83000 81000 26000 -366000 52718000 21205000 16283000 10929000 5319000 2914000 41789000 15886000 13369000 5.52 2.11 1.79 5.45 2.09 1.77 7564000 7524000 7484000 7663000 7615000 7568000 41789000 15886000 13369000 -610000 0 0 -610000 0 0 41179000 15886000 13369000 7446000 74000 30952000 131552000 0 30000 -587000 161991000 43000 1000 1806000 0 0 0 0 1807000 26000 0 474000 0 0 0 0 474000 15000 -0 748000 -0 -0 -0 748000 0 0 13369000 0 13369000 7500000 75000 32484000 144921000 0 30000 -587000 176893000 45000 0 2428000 0 0 0 0 2428000 7000 0 162000 0 0 0 162000 17000 -0 923000 -0 -0 -0 923000 0 15886000 0 15886000 7535000 75000 34151000 160807000 0 30000 -587000 194446000 53000 1000 3207000 0 0 0 0 3208000 17000 0 390000 0 0 0 390000 23000 -0 1678000 -0 -0 -0 -0 1678000 0 0 0 -610000 0 -610000 0 0 41789000 0 41789000 7582000 76000 36070000 202596000 -610000 30000 -587000 237545000 41789000 15886000 13369000 11886000 8410000 8268000 6149000 14000 -459000 15651000 -0 -0 3208000 2428000 1807000 9837000 0 0 -4710000 -1794000 136000 16864000 7754000 -2220000 19605000 4496000 366000 692000 557000 256000 -953000 -893000 -295000 3545000 681000 73000 9131000 102000 -681000 10446000 1009000 -537000 1008000 2294000 -687000 -3298000 -1433000 1083000 17744000 14293000 25037000 13780000 5395000 4368000 20653000 96178000 -0 29007000 0 0 6717000 114000 107000 1291000 -101459000 -4261000 44000000 34839000 5500000 60000000 -0 5500000 0 40000000 0 4000000 -0 -0 4543000 -0 -0 63000 29000 11000 390000 162000 474000 1678000 923000 748000 -25894000 74049000 -285000 193000 0 0 -6666000 -13117000 20491000 11117000 24234000 3743000 4451000 11117000 24234000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">1</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Summary of Significant Accounting Policies</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">UFP Technologies, Inc. (“the Company”) is a design, engineering, and custom manufacturer of comprehensive solutions for medical devices, sterile packaging, and other highly engineered custom products. The Company is an important link in the medical device supply chain and a valued outsource partner to many of the top medical device manufacturers in the world. The Company’s single-use and single-patient devices and components are used in a wide range of medical devices and packaging for minimally invasive surgery, infection prevention, wound care, wearables, orthopedic soft goods, and orthopedic implants.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company is diversified by also providing highly engineered products and components to customers in the automotive, aerospace and defense, consumer, electronics, and industrial markets. Typical applications of its products include military uniform and gear components, automotive interior trim, athletic padding, air filtration, abrasive nail files, and protective cases and inserts.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(a)    Principles of Consolidation</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (partial year; entity was sold in <em style="font: inherit;"> July 2022), </em>Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. The Company consists of a single operating and reportable segment. The Company has evaluated all subsequent events through the date of this filing.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(b)    Use of Estimates</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and the fair value of goodwill, and the fair value of intangible assets, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(c)    Fair Value Measurement</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(d)    Fair Value of Financial Instruments</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the Company’s current incremental borrowing rate.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(e)    Cash and Cash Equivalents</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company considers all highly liquid investments with original maturities of <em style="font: inherit;">three</em> months or less to be cash equivalents. At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> the Company did <span style="-sec-ix-hidden:c95435571"><span style="-sec-ix-hidden:c95435574">not</span></span> have any cash equivalents.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company maintains its cash in bank deposit accounts that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does <em style="font: inherit;">not</em> believe it is exposed to any significant custodial credit risk on cash.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(f)     Accounts Receivable</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management’s judgment. Conditions impacting the realizability of the Company’s receivables could cause actual asset write-offs to be materially different than the reserved balances as of <em style="font: inherit;"> December 31, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(g)    Inventories</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (“FIFO”) method.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management’s judgment. Conditions impacting the realizability of the Company’s inventory could cause actual asset write-offs to be materially different than the Company’s current estimates as of <em style="font: inherit;"> December 31, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(h)    Property, Plant, and Equipment</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Estimated useful lives of property, plant, and equipment are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 60%; margin-left: 49pt; margin-right: auto;"><tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Leasehold improvements</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Shorter of estimated useful life<br/> or remaining lease term</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Buildings and improvements (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><em style="font: inherit;">20 -30</em></p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Machinery and equipment (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">7 – 15</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Furniture, fixtures, computers &amp; software (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3 – 7</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset’s carrying value over its fair value. <em style="font: inherit;">No</em> events or changes in circumstances arose during the year ended <em style="font: inherit;"> December 31, 2022 </em>that required management to perform an impairment analysis.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(i)     Goodwill</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount <em style="font: inherit;"> may </em>be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are <em style="font: inherit;">one</em> level below the business segment level but can be combined when reporting units within the same segment have similar economic characteris‐tics. An impairment loss generally would be recognized when the carrying amount of the reporting unit’s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In performing the most recent “step <em style="font: inherit;">1”</em> evaluation of goodwill impairment, the Company primarily utilized the guideline public company (“GPC”) method under the market approach and the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, <em style="font: inherit;">one</em> that a prudent investor would require before making an investment in our equity securities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company changed its annual impairment testing date in <em style="font: inherit;">2021</em> to <em style="font: inherit;"> October 1 </em>in order to allow for sufficient time to complete its analysis. As of our most recent step <em style="font: inherit;">1</em> evaluation on <em style="font: inherit;"> October 1, 2022, </em>based on calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If the Company’s actual operating results and/or the key assumptions utilized in management’s calculations differ from our expectations, it is possible that a future impairment charge <em style="font: inherit;"> may </em>be necessary.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(j)     Intangible Assets</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. <em style="font: inherit;">No</em> events or changes in circumstances arose during the year ended <em style="font: inherit;"> December 31, 2022 </em>that required management to perform an impairment analysis.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(k)    Revenue Recognition</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC <em style="font: inherit;">606</em> which include (<em style="font: inherit;">1</em>) identifying the contract with a customer, (<em style="font: inherit;">2</em>) identifying separate performance obligations within the contract, (<em style="font: inherit;">3</em>) determining the transaction price, (<em style="font: inherit;">4</em>) allocating the transaction price to the performance obligations, and (<em style="font: inherit;">5</em>) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does <em style="font: inherit;">not</em> transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale <em style="font: inherit;">not</em> as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(l)     Share-Based Compensation</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">When accounting for equity instruments exchanged for employee services, share-based compen‐sation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee’s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(m)   Shipping and Handling Costs</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(n)    Income Taxes</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company’s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carry‐forwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than <em style="font: inherit;">not</em> to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would <em style="font: inherit;">not</em> be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than <em style="font: inherit;">not</em> that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than <em style="font: inherit;">50%</em> likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(o)    Segments and Related Information</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company follows the provisions of Accounting Standards Codification (ASC) <em style="font: inherit;">280,</em> <i>Segment Reporting</i>, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note <em style="font: inherit;">19</em>).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(p)    Treasury Stock</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 49pt; text-align: justify; text-indent: 0pt;">The Company accounts for treasury stock under the cost method, using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em> out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. The Company did <span style="-sec-ix-hidden:c95435648"><span style="-sec-ix-hidden:c95435649"><span style="-sec-ix-hidden:c95435651">not</span></span></span> repurchase any shares of common stock during the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(q)    Research and Development</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">On a routine basis, the Company incurs costs related to research and development activity. These costs are expensed as incurred. Approximately $9.3 million, $8.5 million, and $8.2 million were expensed in the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i/></p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(r)    Foreign Currency Translation</i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 49pt; text-align: justify; text-indent: 0pt;">The Company translates all assets and liabilities of its foreign subsidiaries, where the U.S. dollar is <em style="font: inherit;">not</em> the functional currency, at the period-end exchange rate and translates income and expenses at the average exchange rates in effect during the period. The net effect of this translation is recorded in the consolidated financial statements as a component of Accumulated Other Comprehensive Income (AOCI). Translation adjustments are <em style="font: inherit;">not</em> adjusted for income taxes as they relate to permanent investments in the Company’s foreign subsidiaries.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i/></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i>Recent Accounting Pronouncements</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 27pt;">There are <em style="font: inherit;">no</em> newly issued accounting pronouncements that the Company expects to have a material effect on the financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i/></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i>Revisions</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Certain revisions have been made to the <em style="font: inherit;"> December 31, 2021 </em>Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of other liabilities (long-term) to accrued expenses (current). The reclassification resulted in an increase in accrued expenses of $4.1 million and a decrease in other liabilities of $4.1 million. These revisions had <em style="font: inherit;">no</em> impact on previously reported earnings, net income or cash flows and are deemed immaterial to the previously issued financial statements.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"/> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(a)    Principles of Consolidation</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The consolidated financial statements of the Company include the accounts and results of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Advant Medical Limited, and its wholly-owned subsidiary Munlu Leighis Advant Teoranta, Advant Costa Rica Limitada, Advant Medical Inc. (collectively “Advant Medical”), Dielectrics, Inc. (“Dielectrics”), Moulded Fibre Technology, Inc. (partial year; entity was sold in <em style="font: inherit;"> July 2022), </em>Contech Medical, Inc. (“Contech”), DAS Medical Holdings, LLC (“DAS Medical”), and DAS Medical’s wholly-owned subsidiaries, Sterimed, LLC, One Degree Medical Holdings, LLC, DAS Medical Corporation, and its wholly-owned subsidiary DAS Medical International, S.R.L., Simco Industries, Inc., and UFP Realty LLC (“UFP Realty”), and UFP Realty’s wholly-owned subsidiaries. All significant inter-company balances and transactions have been eliminated in consolidation. The Company consists of a single operating and reportable segment. The Company has evaluated all subsequent events through the date of this filing.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(b)    Use of Estimates</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and the fair value of goodwill, and the fair value of intangible assets, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(c)    Fair Value Measurement</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(d)    Fair Value of Financial Instruments</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the Company’s current incremental borrowing rate.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(e)    Cash and Cash Equivalents</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company considers all highly liquid investments with original maturities of <em style="font: inherit;">three</em> months or less to be cash equivalents. At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> the Company did <span style="-sec-ix-hidden:c95435571"><span style="-sec-ix-hidden:c95435574">not</span></span> have any cash equivalents.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company maintains its cash in bank deposit accounts that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does <em style="font: inherit;">not</em> believe it is exposed to any significant custodial credit risk on cash.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(f)     Accounts Receivable</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management’s judgment. Conditions impacting the realizability of the Company’s receivables could cause actual asset write-offs to be materially different than the reserved balances as of <em style="font: inherit;"> December 31, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(g)    Inventories</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (“FIFO”) method.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management’s judgment. Conditions impacting the realizability of the Company’s inventory could cause actual asset write-offs to be materially different than the Company’s current estimates as of <em style="font: inherit;"> December 31, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(h)    Property, Plant, and Equipment</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Estimated useful lives of property, plant, and equipment are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 60%; margin-left: 49pt; margin-right: auto;"><tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Leasehold improvements</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Shorter of estimated useful life<br/> or remaining lease term</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Buildings and improvements (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><em style="font: inherit;">20 -30</em></p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Machinery and equipment (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">7 – 15</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Furniture, fixtures, computers &amp; software (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3 – 7</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset’s carrying value over its fair value. <em style="font: inherit;">No</em> events or changes in circumstances arose during the year ended <em style="font: inherit;"> December 31, 2022 </em>that required management to perform an impairment analysis.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 60%; margin-left: 49pt; margin-right: auto;"><tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Leasehold improvements</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Shorter of estimated useful life<br/> or remaining lease term</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Buildings and improvements (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><em style="font: inherit;">20 -30</em></p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Machinery and equipment (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">7 – 15</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: top; width: 51%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Furniture, fixtures, computers &amp; software (years)</p> </td><td style="vertical-align: top; width: 49%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3 – 7</p> </td></tr> </tbody></table> P7Y P15Y P3Y P7Y <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(i)     Goodwill</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount <em style="font: inherit;"> may </em>be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are <em style="font: inherit;">one</em> level below the business segment level but can be combined when reporting units within the same segment have similar economic characteris‐tics. An impairment loss generally would be recognized when the carrying amount of the reporting unit’s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In performing the most recent “step <em style="font: inherit;">1”</em> evaluation of goodwill impairment, the Company primarily utilized the guideline public company (“GPC”) method under the market approach and the discounted cash flows method (“DCF”) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit’s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, <em style="font: inherit;">one</em> that a prudent investor would require before making an investment in our equity securities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company changed its annual impairment testing date in <em style="font: inherit;">2021</em> to <em style="font: inherit;"> October 1 </em>in order to allow for sufficient time to complete its analysis. As of our most recent step <em style="font: inherit;">1</em> evaluation on <em style="font: inherit;"> October 1, 2022, </em>based on calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If the Company’s actual operating results and/or the key assumptions utilized in management’s calculations differ from our expectations, it is possible that a future impairment charge <em style="font: inherit;"> may </em>be necessary.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(j)     Intangible Assets</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be recoverable. <em style="font: inherit;">No</em> events or changes in circumstances arose during the year ended <em style="font: inherit;"> December 31, 2022 </em>that required management to perform an impairment analysis.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> P5Y P20Y <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(k)    Revenue Recognition</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC <em style="font: inherit;">606</em> which include (<em style="font: inherit;">1</em>) identifying the contract with a customer, (<em style="font: inherit;">2</em>) identifying separate performance obligations within the contract, (<em style="font: inherit;">3</em>) determining the transaction price, (<em style="font: inherit;">4</em>) allocating the transaction price to the performance obligations, and (<em style="font: inherit;">5</em>) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does <em style="font: inherit;">not</em> transfer to the customer, resulting in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services, which are primarily product development services, as the services are performed or as otherwise determined based on the substance of the agreement. The Company recognizes revenue from bill and hold transactions at the time the specified goods are complete and available to the customer. In the ordinary course of business, the Company accepts sales returns from customers for defective goods, such amounts being immaterial. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale <em style="font: inherit;">not</em> as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company’s promise to transfer the good and are expensed when revenue is recognized.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(l)     Share-Based Compensation</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">When accounting for equity instruments exchanged for employee services, share-based compen‐sation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee’s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(m)   Shipping and Handling Costs</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(n)    Income Taxes</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company’s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carry‐forwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than <em style="font: inherit;">not</em> to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would <em style="font: inherit;">not</em> be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than <em style="font: inherit;">not</em> that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than <em style="font: inherit;">50%</em> likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(o)    Segments and Related Information</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">The Company follows the provisions of Accounting Standards Codification (ASC) <em style="font: inherit;">280,</em> <i>Segment Reporting</i>, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note <em style="font: inherit;">19</em>).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(p)    Treasury Stock</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 49pt; text-align: justify; text-indent: 0pt;">The Company accounts for treasury stock under the cost method, using the <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em> out cost flow assumption, and includes treasury stock as a component of stockholders’ equity. The Company did <span style="-sec-ix-hidden:c95435648"><span style="-sec-ix-hidden:c95435649"><span style="-sec-ix-hidden:c95435651">not</span></span></span> repurchase any shares of common stock during the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(q)    Research and Development</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 49pt; text-indent: 0pt;">On a routine basis, the Company incurs costs related to research and development activity. These costs are expensed as incurred. Approximately $9.3 million, $8.5 million, and $8.2 million were expensed in the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 9300000 8500000 8200000 <p style="margin-top: 0pt; margin-bottom: 0pt; line-height: 1.25; font-family: Times New Roman; font-size: 10pt; margin-left: 27pt;"><i>(r)    Foreign Currency Translation</i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:27pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 49pt; text-align: justify; text-indent: 0pt;">The Company translates all assets and liabilities of its foreign subsidiaries, where the U.S. dollar is <em style="font: inherit;">not</em> the functional currency, at the period-end exchange rate and translates income and expenses at the average exchange rates in effect during the period. The net effect of this translation is recorded in the consolidated financial statements as a component of Accumulated Other Comprehensive Income (AOCI). Translation adjustments are <em style="font: inherit;">not</em> adjusted for income taxes as they relate to permanent investments in the Company’s foreign subsidiaries.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i>Recent Accounting Pronouncements</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 27pt;">There are <em style="font: inherit;">no</em> newly issued accounting pronouncements that the Company expects to have a material effect on the financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;"><i>Revisions</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Certain revisions have been made to the <em style="font: inherit;"> December 31, 2021 </em>Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of other liabilities (long-term) to accrued expenses (current). The reclassification resulted in an increase in accrued expenses of $4.1 million and a decrease in other liabilities of $4.1 million. These revisions had <em style="font: inherit;">no</em> impact on previously reported earnings, net income or cash flows and are deemed immaterial to the previously issued financial statements.</p> -4100000 -4100000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">2</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Acquisitions and Divestiture</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Molded Fiber</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On <em style="font: inherit;"> July 26, 2022, </em>pursuant to a share purchase agreement and related agreements,<b> </b>the Company sold its Moulded Fiber Technology, Inc. (“MFT”) and related real estate in Iowa to CKF USA INCORPORATED (“CKF”) (a Delaware Corporation) for approximately $31.5 million (including a working capital adjustment of approximately $0.1 million that decreased the total consideration). The net book value of the assets sold were approximately $15.4 million and the Company recorded a net gain on sale of approximately $15.7 million, which was recorded in the year ended <em style="font: inherit;"> December 31, 2022. </em>$2.6 million of the purchase price is being held in escrow to indemnify CKF against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. MFT’s annual revenue was approximately $21.3 million for the year ended <em style="font: inherit;"> December 31, 2021. </em>Proceeds from the sale were used to pay down debt on the Company’s revolving credit facility, as well as income tax obligations on the related gain.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"><i>Advant Medical</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On <em style="font: inherit;"> March 16, 2022, </em>the Company purchased 100% of the outstanding shares of common stock of Advant Medical, Ltd., Advant Medical Inc. and Advant Medical Costa Rica, Limitada, (together Advant), pursuant to a Stock Purchase Agreement and related agreements, for an aggregate purchase price of <span style="-sec-ix-hidden:c95435689">€19.0</span> million in cash along with a working capital adjustment at closing (total consideration in U.S. Dollars amounted to approximately $21.2 million). The purchase price was subject to additional adjustment based upon Advant’s final working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Stock Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Founded in <em style="font: inherit;">1993,</em> Advant is headquartered in Galway, Ireland, with operations in Costa Rica and partner manufacturing in Mexico. Advant is a developer and manufacturer of Class I, II, and III medical devices and packaging, primarily for catheters and guide wires.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of considerations transferred</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">23,608</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from Advant</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(2,840</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>21,163</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price allocation</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,299</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,410</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant, and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">5,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer contracts &amp; relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,925</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">7,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">23,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(668</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>21,163</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Acquisition costs associated with the transaction were approximately $789 thousand, of which $759 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2022, </em>and $30 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2021. </em>These costs were primarily for legal, investment banking, and valuation services, as well as stamp duty filings and are reflected on the face of the income statement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The amount of revenue and earnings of Advant recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended <em style="font: inherit;"> December 31, 2022, </em>was approximately $20.0 million and $2.4 million, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"><span style="text-decoration: underline; ">Pro-forma statements</span></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended <em style="font: inherit;"> December 31, 2022, </em>and <em style="font: inherit;">2021,</em> as if the Advant acquisition had occurred at the beginning of <em style="font: inherit;">2021</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended December 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">358,196</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">291,403</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">56,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">27,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">42,311</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">21,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5.59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5.52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The above unaudited pro forma information is presented for illustrative purposes only and <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be indicative of the results of operations that would have occurred had the acquisition occurred as presented. In addition, future results <em style="font: inherit;"> may </em>vary significantly from the results reflected in such pro forma information.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"><i>DAS Medical</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;text-indent:9pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On <em style="font: inherit;"> December 22, 2021, </em>the Company purchased 100% of the outstanding membership interests of DAS Medical Holdings, LLC, (DAS Medical) pursuant to a Securities Purchase Agreement, for a net purchase price of $66.7 million in cash. The purchase price was subject to adjustment based upon DAS Medical’s final working capital at closing, and the purchase price <em style="font: inherit;"> may </em>be increased by up to $20.0 million in earn-out payments based upon the achievement of certain EBITDA and/or revenue targets of DAS Medical for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2023,</em> <em style="font: inherit;">2024</em> and <em style="font: inherit;">2025.</em> A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Securities Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type. As a result of the final working capital adjustment, the total consideration was reduced by approximately $115 thousand.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In connection with its entry into the Purchase Agreement, the Company also entered into an Agreement for the Purchase and Sale of Personal Goodwill (the “Goodwill Agreement”) with the purchase price beneficiaries. Pursuant to the terms of the Goodwill Agreement, on <em style="font: inherit;"> December 22, 2021, </em>the Company purchased from the beneficiaries their personal goodwill, including business relationships, trade secrets and knowledge in connection with DAS Medical’s business, for a purchase price of $20 million in cash.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has also entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the <em style="font: inherit;">ten</em> years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Founded in <em style="font: inherit;">2010,</em> DAS Medical is headquartered in Atlanta, Georgia, with manufacturing in the Dominican Republic. DAS Medical is a medical device contract manufacturer specializing in the design, development and production of single-use surgical equipment covers, robotic draping systems and fluid control pouches.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of considerations transferred</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">95,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Contingent liability (Earn-out)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">5,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">8,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from DAS</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(8,316</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Working capital adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>100,612</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price allocation</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">7,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">68</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant, and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,314</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer contracts &amp; relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">36,730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">51,742</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">110,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(5,238</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,995</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>100,612</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Acquisition costs associated with the transaction were approximately $448 thousand, of which $155 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2022, </em>and $293 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2021. </em>These costs were primarily for legal and valuation services and are reflected on the face of the income statement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The amount of revenue and net income of DAS Medical recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended <em style="font: inherit;"> December 31, 2021, </em>was approximately $1.4 million and $0.1 million, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"><i>Contech Medical</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;text-indent:9pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On <em style="font: inherit;"> October 12, 2021, </em>the Company purchased 100% of the outstanding shares of common stock of Contech Medical, Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price of $9.5 million in cash, the assumption of a contingent liability of $0.5 million plus up to an additional $5 million based upon the achievement of certain EBITDA targets of Contech for the <em style="font: inherit;">12</em>-month period ended <em style="font: inherit;"> June 30, 2022. </em>The purchase price was subject to adjustment based upon Contech’s working capital at closing. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses, and liabilities. The Purchase Agreement contains customary representations, warranties, and covenants customary for transactions of this type.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Founded in <em style="font: inherit;">1987,</em> Contech is based in Providence, Rhode Island with partner manufacturing in Costa Rica. Contech is a global leader in the design, development, and manufacture of Class III medical device packaging primarily for catheters and guide wires. The Company has leased the Providence location from a realty trust owned by the selling shareholders and affiliates. The lease is for <em style="font: inherit;">five</em> years with <em style="font: inherit;">one five</em>-year renewal option.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management’s estimates of fair value (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of consideration transferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">9,766</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Contingent liability (Earn-out)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from Contech</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>14,543</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase Price Allocation:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,851</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,170</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer Contracts &amp; Relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,043</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual Property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-Compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,278</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">17,555</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(60</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>14,543</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Acquisition costs associated with the transaction were approximately $153 thousand, of which $113 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2022, </em>and $40 thousand was charged to expense in the year ended <em style="font: inherit;"> December 31, 2021. </em>These costs were primarily for legal and valuation services and are reflected on the face of the income statement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The amount of revenue and net income of Contech recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended <em style="font: inherit;"> December 31, 2021, </em>was approximately $4.5 million and $0.5 million, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended <em style="font: inherit;"> December 31, 2021, </em>and <em style="font: inherit;">2020,</em> as if both acquisitions had occurred at the beginning of <em style="font: inherit;">2020</em> (in thousands):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">269,932</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">235,328</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">25,878</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">22,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">20,562</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">18,354</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The above unaudited pro forma information is presented for illustrative purposes only and <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be indicative of the results of operations that would have occurred had both acquisitions occurred as presented. In addition, future results <em style="font: inherit;"> may </em>vary significantly from the results reflected in such pro forma information.</p> 31500000 100000 15400000 15700000 2600000 21300000 1 21200000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of considerations transferred</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">23,608</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from Advant</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(2,840</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>21,163</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price allocation</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,299</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,410</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant, and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">5,704</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer contracts &amp; relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,925</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">259</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">7,140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">23,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(668</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(289</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>21,163</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of considerations transferred</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">95,000</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Contingent liability (Earn-out)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">5,188</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreements</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">8,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from DAS</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(8,316</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Working capital adjustment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>100,612</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price allocation</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">7,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">68</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant, and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,314</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer contracts &amp; relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">36,730</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,380</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,697</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">51,742</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">110,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(5,238</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,995</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,221</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>100,612</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Fair value of consideration transferred:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash paid at closing</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">9,766</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Contingent liability (Earn-out)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other liability</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash from Contech</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total consideration</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><b>14,543</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase Price Allocation:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts receivable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,851</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventory</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other current assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">37</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,170</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer Contracts &amp; Relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,043</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intellectual Property</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">2,247</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Non-Compete agreement</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease right of use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">1,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,278</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total identifiable assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">17,555</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,015</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(60</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Net assets acquired</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><b>$</b></td><td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><b>14,543</b></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 23608000 395000 2840000 21163000 2299000 2410000 213000 5704000 2925000 2127000 259000 289000 41000 7140000 23407000 772000 668000 66000 449000 289000 21163000 789000 759000 30000 20000000.0 2400000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended December 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">358,196</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">291,403</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">56,321</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">27,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">42,311</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">21,805</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5.59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5.52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.86</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2020</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sales</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">269,932</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">235,328</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">25,878</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">22,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net Income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">20,562</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">18,354</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings per share:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.73</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.70</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 358196000 291403000 56321000 27729000 42311000 21805000 5.59 2.90 5.52 2.86 1 66700000 20000000.0 -115000000 20000000 10000000.0 P10Y 95000000 5188000 8855000 8316000 115000 100612000 2351000 7570000 68000 3314000 36730000 2380000 4697000 1221000 51742000 110073000 5238000 2995000 7000 1221000 100612000 448000 155000 293000 1400000 100000 1 9500000 500000 5000000 9766000 4543000 500000 266000 14543000 2851000 2320000 37000 1170000 3043000 2247000 86000 1523000 4278000 17555000 1015000 414000 60000 1523000 14543000 153000 113000 40000 4500000 500000 269932000 235328000 25878000 22617000 20562000 18354000 2.73 2.45 2.70 2.43 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">3</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Revenue Recognition</b></p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"><i>Disaggregated Revenue</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table presents the Company’s revenue disaggregated by the major types of goods and services sold to our customers (in thousands) (See Note <em style="font: inherit;">19</em> for further information regarding net sales by market):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 39%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2020</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales of:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Products</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">342,742</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">201,248</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">172,299</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tooling and Machinery</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,307</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,814</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2,787</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Engineering services</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,743</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">3,258</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,287</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">353,792</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">206,320</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">179,373</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"><i>Contract balances</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Timing of revenue recognition <em style="font: inherit;"> may </em>differ from the timing of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities) included within “deferred revenue” on the condensed consolidated balance sheet.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table presents opening and closing balances of contract liabilities for the years ended <em style="font: inherit;"> December 31, 2022, </em>and <em style="font: inherit;">2021</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Contract Liabilities</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred revenue - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,247</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,887</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired in business combinations</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">69</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increases due to consideration received from customers</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,337</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,007</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue recognized</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(5,330</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,716</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decrease due to sale of Molded Fiber</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(575</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred revenue - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,679</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,247</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Revenue recognized during the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> from amounts included in deferred revenue at the beginning of the period was approximately $2.2 million and $0.8 million, respectively.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">When invoicing occurs after revenue recognition, the Company has unbilled receivables (contract assets) included within “receivables” on the condensed consolidated balance sheet.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table presents opening and closing balances of contract assets for the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Contract Assets</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unbilled Receivables - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">74</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increases due to revenue recognized, not invoiced to customers</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">3,653</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,815</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decreases due to customer invoicing</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(3,457</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(2,012</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unbilled Receivables - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">74</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 39%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2020</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales of:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 16%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Products</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">342,742</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">201,248</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">172,299</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tooling and Machinery</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,307</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,814</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2,787</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Engineering services</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,743</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">3,258</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,287</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 43%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total net sales</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">353,792</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">206,320</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">179,373</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 342742000 201248000 172299000 6307000 1814000 2787000 4743000 3258000 4287000 353792000 206320000 179373000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Contract Liabilities</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred revenue - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,247</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,887</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired in business combinations</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">69</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increases due to consideration received from customers</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,337</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,007</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue recognized</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(5,330</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,716</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decrease due to sale of Molded Fiber</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(575</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred revenue - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,679</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,247</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Contract Assets</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Years Ended</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unbilled Receivables - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">74</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increases due to revenue recognized, not invoiced to customers</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">3,653</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,815</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decreases due to customer invoicing</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(3,457</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(2,012</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unbilled Receivables - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">74</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 4247000 1887000 0 69000 6337000 4007000 5330000 1716000 -575000 0 4679000 4247000 2200000 800000 74000 271000 3653000 1815000 3457000 2012000 270000 74000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">4</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Supplemental Cash Flow Information</b></p> </td> </tr> </tbody> </table> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td colspan="8" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>Years Ended December 31,</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2022</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2021</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2020</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Interest</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,721</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">71</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes, net of refunds</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,200</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,914</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,481</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="width: 54%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Non-cash investing and financing activities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Capital additions accrued but not yet paid</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">125</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">135</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">225</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,568</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,731</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Present value of non-competition payments</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,043</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,477</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance lease right of use assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">187</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance lease liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(187</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease right of use assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">329</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,782</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(329</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,782</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td colspan="8" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>Years Ended December 31,</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2022</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2021</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b>2020</b></b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Interest</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,721</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">71</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes, net of refunds</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,200</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,914</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,481</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="width: 54%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Non-cash investing and financing activities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 13%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Capital additions accrued but not yet paid</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">125</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">135</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">225</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued contingent consideration</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,568</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,731</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Present value of non-competition payments</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,043</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,477</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance lease right of use assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">187</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Finance lease liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(187</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease right of use assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">329</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,782</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 54%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(329</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,782</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </tbody> </table> 2721000 53000 71000 13200000 5914000 2481000 125000 135000 225000 14568000 9731000 0 10043000 9477000 0 0 187000 108000 0 -187000 -108000 329000 7782000 0 -329000 -7782000 0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">5</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Receivables and Allowance for Credit Losses</b></p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Receivables consist of the following (in thousands):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts receivable–trade</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">55,850</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">39,903</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Less allowance for credit losses</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(733</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Receivables, net</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">55,117</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">39,384</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company is exposed to credit losses primarily through sales of products and services. The Company’s expected loss allowance methodology for accounts receivable is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' trade accounts receivables. Due to the short-term nature of such receivables, the estimate of the amount of accounts receivable that <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be collected is based on aging of the accounts receivable balances and the financial condition of customers. Additionally, specific allowance amounts are established to record the appropriate provision for customers that have a higher probability of default. The Company’s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions. Balances are written-off when determined to be uncollectible. Estimates based on an assessment of anticipated payment and all other historical, current, and future information that is reasonably available are used to determine the allowance.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table provides a roll-forward of the allowance for credit losses that is deducted from accounts receivable to present the net amount expected to be collected for the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> (in thousands):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Allowance for Credit Losses</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended</b> <b> December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">484</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Provision for expected credit losses</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">293</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">179</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amounts written off against the allowance, net of recoveries</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(40</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(144</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decrease due to sale of Molded Fiber business</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(39</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">733</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accounts receivable–trade</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">55,850</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">39,903</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Less allowance for credit losses</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(733</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Receivables, net</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">55,117</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">39,384</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 55850000 39903000 733000 519000 55117000 39384000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Allowance for Credit Losses</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Year Ended</b> <b> December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance - beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">484</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Provision for expected credit losses</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">293</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">179</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amounts written off against the allowance, net of recoveries</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(40</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(144</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Decrease due to sale of Molded Fiber business</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(39</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance - end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">733</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">519</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 519000 484000 293000 179000 40000 144000 39000 -0 733000 519000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">6</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Inventories</b></p> </td> </tr> </tbody> </table> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin: 0pt 0pt 0pt 0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Inventories consist of the following (in thousands):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">42,475</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">22,184</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,183</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,205</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">6,878</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">7,047</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Inventory</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">53,536</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">33,436</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">42,475</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">22,184</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,183</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,205</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">6,878</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">7,047</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total Inventory</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">53,536</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">33,436</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 42475000 22184000 4183000 4205000 6878000 7047000 53536000 33436000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">7</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Goodwill and Other Intangible Assets</b></p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">The changes in the carrying amount of goodwill for the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows (in thousands):</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 12pt; margin: 0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Opening balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">107,905</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">51,838</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired in business combinations (See Note 2)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">7,140</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">56,067</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">DAS working capital adjustment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">196</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">DAS opening balance sheet reclassification</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(243</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sale of Molded Fiber</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,778</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign currency translation</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(192</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">113,028</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">107,905</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: 9pt;">Approximately $106.0 million of goodwill at <em style="font: inherit;"> December 31, 2022, </em>is deductible for tax purposes</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The carrying values of the Company’s definite-lived intangible assets as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> are as follows (in thousands):</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>December 31, 2022</b></span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Customer</b><br/> <b>List</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Intellectual Property / Tradename &amp; Brand</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Non-</b><br/> <b>Compete</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Total</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average useful life</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435962">20 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435963">11.9 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435964">9.3 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 10%;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross amount</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">65,174</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">7,064</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,497</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">77,735</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(7,665</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(727</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(982</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(9,374</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">57,509</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">6,337</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,515</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">68,361</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>December 31, 2021</b></span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Customer</b><br/> <b>List</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Intellectual Property / Tradename &amp; Brand</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Non-</b><br/> <b>Compete</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Total</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average useful life</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435978">20 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435979">11.9 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435980">9.5 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 10%;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross amount</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">62,328</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,994</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,245</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">72,567</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(4,442</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(175</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(365</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(4,982</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">57,886</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,819</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,880</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">67,585</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Amortization expense related to intangible assets was approximately $4.4 million, $1.3 million, and $1.3 million for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> respectively. The estimated remaining amortization expense as of <em style="font: inherit;"> December 31, 2022 </em>is as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,408</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,399</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,397</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">46,355</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">68,361</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Opening balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">107,905</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">51,838</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired in business combinations (See Note 2)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">7,140</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">56,067</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">DAS working capital adjustment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">196</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">DAS opening balance sheet reclassification</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(243</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Sale of Molded Fiber</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,778</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign currency translation</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">(192</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Ending balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">113,028</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">107,905</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 107905000 51838000 7140000 56067000 196000 0 -243000 0 1778000 -0 -192000 0 113028000 107905000 106000000.0 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>December 31, 2022</b></span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Customer</b><br/> <b>List</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Intellectual Property / Tradename &amp; Brand</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Non-</b><br/> <b>Compete</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Total</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average useful life</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435962">20 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435963">11.9 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435964">9.3 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 10%;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross amount</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">65,174</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">7,064</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,497</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">77,735</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(7,665</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(727</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(982</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(9,374</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">57,509</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">6,337</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,515</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">68,361</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>December 31, 2021</b></span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Customer</b><br/> <b>List</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Intellectual Property / Tradename &amp; Brand</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Non-</b><br/> <b>Compete</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>Total</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average useful life</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435978">20 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435979">11.9 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><span style="-sec-ix-hidden:c95435980">9.5 years</span></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 10%;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross amount</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">62,328</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,994</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,245</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">72,567</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accumulated amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(4,442</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(175</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(365</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(4,982</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net balance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">57,886</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,819</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,880</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">67,585</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 65174000 7064000 5497000 77735000 7665000 727000 982000 9374000 57509000 6337000 4515000 68361000 62328000 4994000 5245000 72567000 4442000 175000 365000 4982000 57886000 4819000 4880000 67585000 4400000 1300000 1300000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 20%; margin-left: 20%; width: 60%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 81%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,408</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,399</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,397</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">46,355</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">68,361</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 4408000 4401000 4401000 4399000 4397000 46355000 68361000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">8</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Property, Plant and Equipment</b></p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Property, plant, and equipment consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Land and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,811</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">3,191</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Buildings and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">34,446</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">36,234</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Leasehold improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,503</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,859</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Machinery &amp; equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">52,233</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">72,963</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Furniture, fixtures, computers &amp; software</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,052</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Construction in progress</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">7,272</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">3,538</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">110,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">126,837</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accumulated depreciation and amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(52,594</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(70,268</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net property, plant and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">58,072</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">56,569</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Depreciation and amortization expense of Property, Plant and Equipment for the years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> <em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020</em> was approximately $7.5 million, $7.1 million, and $7.0 million, respectively.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"> <tbody> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 20%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="2" style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Land and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,811</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">3,191</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Buildings and improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">34,446</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">36,234</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Leasehold improvements</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,503</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,859</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Machinery &amp; equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">52,233</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">72,963</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Furniture, fixtures, computers &amp; software</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,401</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,052</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Construction in progress</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">7,272</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid black;">3,538</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid black;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property, plant and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">110,666</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">126,837</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accumulated depreciation and amortization</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(52,594</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(70,268</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 62%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Net property, plant and equipment</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">58,072</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double black;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">56,569</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 4811000 3191000 34446000 36234000 5503000 4859000 52233000 72963000 6401000 6052000 7272000 3538000 110666000 126837000 52594000 70268000 58072000 56569000 7500000 7100000 7000000.0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">9</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Debt</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On <em style="font: inherit;"> December 22, 2021, </em>the Company, as the borrower, entered into a secured $130 million Second Amended and Restated Credit Agreement (the “Second Amended and Restated Credit Agreement”) with certain of the Company’s subsidiaries (the “Subsidiary Guarantors”) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time-to-time party thereto. The Second Amended and Restated Credit Agreement amends and restates the Company’s prior credit agreement, originally dated as of <em style="font: inherit;"> February 1, 2018.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The credit facilities under the Second Amended and Restated Credit Agreement consist of a $40 million secured term loan to the Company and a secured revolving credit facility, under which the Company <em style="font: inherit;"> may </em>borrow up to $90 million. The Second Amended and Restated Credit Agreement matures on <em style="font: inherit;"> December 21, 2026. </em>The secured term loan requires quarterly principal payments of $1 million that commenced on <em style="font: inherit;"> March 31, 2022. </em>The proceeds of the Second Amended and Restated Credit Agreement <em style="font: inherit;"> may </em>be used for general corporate purposes, including funding the acquisition of DAS Medical, as well as certain other permitted acquisitions. The Company’s obligations under the Second Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Second Amended and Restated Credit Agreement calls for interest determined by the Bloomberg Short-Term Bank Yield Index rate (“BSBY”) plus a margin that ranges from 1.25% to 2.0% or, at the discretion of the Company, the bank’s prime rate less a margin that ranges from <span style="-sec-ix-hidden:c95436035">0.25%</span> to <span style="-sec-ix-hidden:c95436036">zero</span>. In both cases the applicable margin is dependent upon Company performance. Under the Second Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The Second Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness, and permitted investments.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">At <em style="font: inherit;"> December 31, 2022, </em>the Company had approximately $55 million in borrowings outstanding under the Second Amended and Restated Credit Agreement, which were used as partial consideration for the DAS Medical and Advant acquisitions, and also had approximately $0.7 million in standby letters of credit outstanding, drawable as a financial guarantee on worker’s compensation insurance policies. At <em style="font: inherit;"> December 31, 2022, </em>the applicable interest rate was approximately 5.2% and the Company was in compliance with all covenants under the Second Amended and Restated Credit Agreement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Long-term debt consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>December 31, </b></b></b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2022</b></b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revolving credit facility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Term loan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">36,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total long-term debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">55,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt, excluding current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">51,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Future maturities of long-term debt at <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022</em> are as follows (<i>in thousands</i>):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Year ended December 31,</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Term Loan</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revolving credit facility</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">24,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">43,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">36,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">55,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Derivative Financial Instruments</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company used interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does <em style="font: inherit;">not</em> enter into derivative instruments for any purpose other than cash flow hedging. Derivative financial instruments expose the Company to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is <em style="font: inherit;">not</em> exposed to the counterparty’s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that <em style="font: inherit;"> may </em>adversely impact expected future cash flows and by evaluating hedging opportunities. The Company’s debt obligations exposed the Company to variability in interest payments due to changes in interest rates. The Company believed that it was prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the <em style="font: inherit;">first</em> Amended and Restated Credit Agreement, the Company entered into a $20 million, 5-year interest rate swap agreement under which the Company receives <em style="font: inherit;">three</em>-month LIBOR plus the applicable margin and pays a 2.7% fixed rate plus the applicable margin. The swap modified the Company’s interest rate exposure by converting the previous term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was approximately $5.7 million at <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022.</em> The fair value of the swap as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> was zero and approximately $(176) thousand, respectively, and is included in other liabilities. Changes in the fair value and net cash settlement amounts related to the swap are recorded in other income of approximately $176 thousand and approximately $24 thousand during the years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As the Company has paid the remaining balance of the term loan that was associated with the swap in its entirety, there is <em style="font: inherit;">no</em> longer underlying debt to hedge against with the swap. The changes in the fair value of the swap will continue to be accounted for as a financial instrument until its maturity, on <em style="font: inherit;"> February 1, 2023.</em></p> 130000000 40000000 90000000 1000000 0.0125 0.020 55000000 700000 0.052 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>December 31, </b></b></b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2022</b></b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 84%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Revolving credit facility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Term loan</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">36,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total long-term debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">55,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt, excluding current portion</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">51,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 19000000 36000000 55000000 4000000 51000000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Year ended December 31,</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Term Loan</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Revolving credit facility</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">24,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">43,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">36,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">19,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">55,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 4000000 0 4000000 4000000 0 4000000 4000000 0 4000000 24000000 19000000 43000000 36000000 19000000 55000000 20000000 P5Y 0.027 5700000 0 -176000 176000 24000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"> <tbody> <tr style="vertical-align: top;"> <td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">10</em>)</b></p> </td> <td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Accrued Expenses</b></p> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Accrued expenses consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom;"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Compensation</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,949</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6,498</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of contingent consideration</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,000</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,543</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of present value of non-competition payments</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,888</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">156</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued customer rebates</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,493</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,241</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,792</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,339</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">23,122</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">16,777</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Certain amounts for the year ended <em style="font: inherit;"> December 31, 2021 </em>were revised to conform to the current year presentation (See Note <em style="font: inherit;">1</em>).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom;"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2022</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2021</b></b></p> </td> <td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Compensation</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,949</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6,498</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of contingent consideration</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,000</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,543</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of present value of non-competition payments</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,888</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">156</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued customer rebates</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,493</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,241</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,792</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">4,339</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">23,122</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">16,777</td> <td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 7949000 6498000 5000000 4543000 1888000 156000 3493000 1241000 4792000 4339000 23122000 16777000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">11</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Income Tax</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company’s domestic and foreign net income before provision for income taxes for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020</em> consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">34,654</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">21,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">16,283</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">18,064</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">52,718</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">21,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">16,283</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company’s income tax provision for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020</em> consists of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Federal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">11,238</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,793</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">State</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,309</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,320</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">555</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,863</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total Current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,113</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,778</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Federal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(3,856</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,399</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">State</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(624</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(395</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">164</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total Deferred</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(4,481</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(1,794</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">136</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total income tax provision</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">10,929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">5,319</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,914</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The approximate tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Reserves</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">450</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">380</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Inventory capitalization</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">305</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">706</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Compensation programs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,120</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,842</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Equity-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">690</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">668</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Lease liability</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,427</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,132</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">877</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">365</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">362</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Gross deferred tax assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,282</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Net deferred tax assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,265</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Excess of book over tax basis of fixed assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,782</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(4,481</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,445</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(3,628</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Right of use asset</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(3,245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(2,419</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(8,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(10,528</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Net long-term deferred tax assets (liabilities)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(3,263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The amounts recorded as deferred tax assets as of <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021</em> represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than <em style="font: inherit;">not</em> to be realized through the generation of sufficient future taxable income within the carryforward period. The Company had gross deferred tax assets of approximately $9.5 million at <em style="font: inherit;"> December 31, 2022, </em>that it believes are more likely than <em style="font: inherit;">not</em> to be realized in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company has provided a valuation allowance of zero and $17 thousand at <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> respectively, for deferred tax assets (net of federal tax benefit).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The actual tax provision for the years presented differs from that derived from using a U.S federal statutory rate of 21% to income before income tax expense as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Years Ended December 31,</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S. federal statutory rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Increase (decrease) in income taxes resulting from:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">State taxes, net of federal tax benefit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Meals and entertainment</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Tax credits</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Return to provision adjustments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">GILTI impact</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Excess tax benefits on equity awards</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Excess compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Effective tax rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">20.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company’s foreign subsidiary earnings are subject to current U.S. taxation under the Tax Cuts and Jobs Act of <em style="font: inherit;">2017,</em> which also repealed U.S. taxation on the subsequent repatriation of those earnings. We intend to repatriate substantially all of our future foreign subsidiary earnings.  The repatriation of earnings outside of the U.S. generally does <em style="font: inherit;">not</em> represent a material net tax impact to the Company. The withholding taxes associated with the Company’s earnings in the Dominican Republic are generally fully creditable against the Company US tax liability and therefore do <em style="font: inherit;">not</em> produce any incremental tax consequences.  The earnings of the Company’s other foreign subsidiaries, and therefore the withholding taxes associated with those earnings, are <em style="font: inherit;">not</em> material as of <em style="font: inherit;"> December 31, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company files income tax returns in the U.S. federal jurisdiction and various state jurisdictions, as well as Ireland and Costa Rica.  It currently does <em style="font: inherit;">not</em> have a local filing obligation with respect to its subsidiary in the Dominican Republic.  The Company has <em style="font: inherit;">not</em> been audited by any state for income taxes with the exception of returns filed in Michigan which have been audited through <em style="font: inherit;">2004,</em> income tax returns filed in Massachusetts which have been audited through <em style="font: inherit;">2007,</em> income tax returns filed in Florida which have been audited through <em style="font: inherit;">2019,</em> income tax returns filed in New Jersey which have been audited through <em style="font: inherit;">2012,</em> income tax returns in Colorado which have been audited through <em style="font: inherit;">2017,</em> and income tax returns in Iowa which have been audited  through <em style="font: inherit;">2019.</em> The Company’s federal tax return is currently being audited for the years <em style="font: inherit;">2019</em> and <em style="font: inherit;">2020.</em> Federal and state tax returns for the years <span style="-sec-ix-hidden:c95436143">2019</span> through <em style="font: inherit;">2022</em> remain open to examination by the IRS and various state jurisdictions.  The Company’s non-US tax returns in Ireland and Costa Rica are open back to <span style="-sec-ix-hidden:c95436145">2018.</span></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> the Company did <span style="-sec-ix-hidden:c95436147"><span style="-sec-ix-hidden:c95436148">not</span></span> have any gross unrecognized tax benefits (“UTB”) resulting from uncertain tax positions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">34,654</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">21,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">16,283</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">18,064</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">52,718</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">21,205</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">16,283</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Current</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Federal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">11,238</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,793</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">State</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,309</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,320</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">555</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,863</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total Current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,410</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,113</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,778</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Federal</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(3,856</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,399</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">State</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(624</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(395</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">164</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Foreign</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total Deferred</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(4,481</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(1,794</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">136</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total income tax provision</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">10,929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">5,319</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,914</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 34654000 21205000 16283000 18064000 0 0 52718000 21205000 16283000 11238000 5793000 2223000 2309000 1320000 555000 1863000 0 0 15410000 7113000 2778000 -3856000 -1399000 -28000 -624000 -395000 164000 -1000 0 0 -4481000 -1794000 136000 10929000 5319000 2914000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Reserves</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">450</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">380</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Inventory capitalization</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">305</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">706</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Compensation programs</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,120</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,842</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Equity-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">690</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">668</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Lease liability</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,298</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,427</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,132</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">877</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Deferred revenue</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">365</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">362</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Gross deferred tax assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,282</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Net deferred tax assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,265</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Excess of book over tax basis of fixed assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,782</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(4,481</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Goodwill</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,445</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(3,628</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Right of use asset</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(3,245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(2,419</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total deferred tax liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(8,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(10,528</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Net long-term deferred tax assets (liabilities)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,000</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">(3,263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td></tr> </tbody></table> 450000 380000 305000 706000 2120000 1842000 690000 668000 3298000 2427000 1132000 877000 1115000 365000 362000 17000 9472000 7282000 -0 17000 9472000 7265000 2782000 4481000 2445000 3628000 3245000 2419000 8472000 10528000 -1000000 3263000 9500000 0 17000 0.21 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Years Ended December 31,</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S. federal statutory rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">21.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Increase (decrease) in income taxes resulting from:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">State taxes, net of federal tax benefit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Meals and entertainment</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Tax credits</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(7.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Return to provision adjustments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign rate differential</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(3.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">GILTI impact</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Excess tax benefits on equity awards</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(1.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Excess compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(0.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">0.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Change in valuation allowance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(0.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Effective tax rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">20.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td></tr> </tbody></table> 0.210 0.210 0.210 0.032 0.040 0.042 0 0 0.001 0.007 0.017 0.072 0 0.007 0 -0.037 0 0 0.008 0 0 0 0 -0.012 0.008 0.007 0.008 -0.007 0.006 0.002 0 -0.002 0 0.207 0.251 0.179 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">12</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Net Income Per Share</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Basic income per share is based upon the weighted average common shares outstanding during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share consisted of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic weighted average common shares outstanding during the year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,564</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,524</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common equivalent shares due to stock options and restricted stock units</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">99</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">91</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">84</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted weighted average common shares outstanding during the year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,663</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,615</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the exercise price of the related options during the period. These outstanding stock awards are <em style="font: inherit;">not</em> included in the computation of diluted earnings per share because the effect would have been antidilutive.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">For the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> the number of stock awards excluded from the computation was <span style="-sec-ix-hidden:c95436269">9,876,</span> <span style="-sec-ix-hidden:c95436270">10,716,</span> and <span style="-sec-ix-hidden:c95436271">14,892,</span> respectively.</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic weighted average common shares outstanding during the year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,564</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,524</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7,484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common equivalent shares due to stock options and restricted stock units</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">99</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">91</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">84</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted weighted average common shares outstanding during the year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,663</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,615</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">7,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 7564000 7524000 7484000 99000 91000 84000 7663000 7615000 7568000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">13</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Share-Based Compensation</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">The Company issues share-based awards through several plans that are described in detail below.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;"><span style="text-decoration: underline; ">Incentive Plan</span></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">In <em style="font: inherit;"> June 2003, </em>the Company formally adopted the <em style="font: inherit;">2003</em> Incentive Plan (the “Plan”). As amended and restated to date, the Plan is intended to benefit the Company by offering equity-based and other incentives to certain of the Company’s executives and employees who are in a position to contribute to the long-term success and growth of the Company, thereby encouraging the continuance of their involvement with the Company and/or its subsidiaries.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">Two types of equity awards <em style="font: inherit;"> may </em>be granted to participants under the Plan: restricted shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of common stock. Such awards <em style="font: inherit;"> may </em>include Restricted Stock Unit Awards (“RSUs”), incentive and non-qualified stock options, performance shares, or stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">Through <em style="font: inherit;"> December 31, 2022, </em>1,327,064 shares of common stock were issued under the <em style="font: inherit;">2003</em> Incentive Plan, <span style="-sec-ix-hidden:c95436301">none</span> of which have been restricted. An additional 98,448 shares are being reserved for outstanding grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company has also granted awards in the form of stock options under this Plan. Through <em style="font: inherit;"> December 31, 2022, </em>185,000 options were granted and no options are outstanding. At <em style="font: inherit;"> December 31, 2022, </em>738,769 shares or options are available for future issuance in the <em style="font: inherit;">2003</em> Incentive Plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;"><span style="text-decoration: underline; ">Director Plan</span></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Effective <em style="font: inherit;"> July 15, 1998, </em>the Company adopted the <em style="font: inherit;">1998</em> Director Plan, which was amended and renamed on <em style="font: inherit;"> June 3, 2009 </em>as the <em style="font: inherit;">2009</em> Non-Employee Director Stock Incentive Plan (the “Director Plan”). The Director Plan was amended on <em style="font: inherit;"> March 7, 2013, </em>to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company’s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan was amended on <em style="font: inherit;"> June </em><em style="font: inherit;">8,</em> <em style="font: inherit;">2022,</em> to increase the maximum number of shares issuable under the Director Plan from 975,000 to 1,075,000. The Director Plan, as amended, provides for the issuance of stock options and other equity-based securities to non-employee members of the Company’s board of directors.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 28pt; text-align: justify;">Through <em style="font: inherit;"> December 31, 2022, </em>400,510 options were granted, and 93,302 options are outstanding. For the year ended <em style="font: inherit;"> December 31, 2022, </em>3,882 RSUs are being reserved for outstanding grants of RSUs and 131,846 shares remain available to be issued under the Director Plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">Share-based compensation is measured at the grant date based on the fair value of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant). Share-based compensation is included in selling, general &amp; administrative expenses as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>Share-based compensation related to:</b></span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock grants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Stock option grants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">210</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">232</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted Stock Unit awards</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">2,545</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,818</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,175</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total share-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,208</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,428</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,807</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">The total income tax benefit recognized in the consolidated statements of income for share-based compensa‐tion arrangements was approximately $1.3 million, $0.8 million, and $0.7 million for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"><i>Common stock grants</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt 0pt 0pt 28pt;">The compensation expense for common stock granted during the <em style="font: inherit;">three</em>-year period ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> was determined based on the market price of the shares on the date of grant.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"><i>Stock option grants</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The compensation expense for stock options granted during the <em style="font: inherit;">three</em>-year period ended <em style="font: inherit;"> Decem‐ber </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">34.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">33.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">32.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected dividends</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436368">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436369">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436370">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">0.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercise price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">77.28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">57.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">43.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected term (years)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average grant date fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">30.37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">19.60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">14.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company’s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following is a summary of stock option activity for the year ended <em style="font: inherit;"> December 31, 2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares Under Options</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Exercise Price</b><br/> (per share)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Remaining Contractual Life</b><br/> (in years)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Aggregate Intrinsic Value</b><br/> (in thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">98,671</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33.53</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,876</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77.28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercised</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(16,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23.72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">92,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39.98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,174</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercisable at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">82,199</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">35.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.53</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">6,773</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Vested and expected to vest at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">92,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39.98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,174</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">During the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> the total intrinsic value of all options exercised (i.e., the difference between the market price and the price paid by the employees to exercise the options) was approximately $1.2 million, $0.2 million, and $0.8 million, respectively, and the total amount of consideration received from the exercise of these options was approximately $0.4 million, $0.2 million, and $0.5 million, respectively. At its discretion, the Company allows option holders to surrender previously owned common stock in lieu of paying the exercise price and withholding taxes. During the year ended <em style="font: inherit;"> December 31, 2022, </em>1,876 shares were redeemed for this purpose at an average market price of $95.82. During both the years ended <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020,</em> no shares were redeemed for this purpose.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"><i>Restricted Stock Unit awards (</i>“<i>RSUs</i>”<i>)</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company grants RSUs to its directors, executive officers and employees. The stock unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant, which is equal to the Company’s closing stock price, and is charged, to expense ratably during the service period. <em style="font: inherit;">No</em> compensation expense is taken on awards that do <em style="font: inherit;">not</em> become vested, and the amount of compensation expense recorded is adjusted based on management’s determination of the probability that these awards will become vested.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table summarizes informa‐tion about stock unit award activity during the year ended <em style="font: inherit;"> December 31, 2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Restricted Stock Units</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Award Date Fair Value</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">101,168</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Awarded</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">51,981</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">74.66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares vested</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(49,575</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Forfeitures</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(1,244</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">63.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">102,330</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">56.02</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">At the Company’s discretion, RSU holders are given the option to net-share settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common shares. During the year ended <em style="font: inherit;"> December 31, 2022, </em>19,425 shares were redeemed for this purpose at an average market price of $67.05. During the years ended <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020,</em> 14,190 and 11,423 shares were redeemed for this purpose at an average market price of $52.55 and $49.91, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following summarizes the future share-based compensation expense the Company will record as the equity securities granted through <em style="font: inherit;"> December 31, 2022, </em>vest (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Options</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Restricted</b><br/> <b>Stock Units</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">131</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,186</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,317</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt; text-align: right;">-</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">150</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">150</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">131</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,623</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,754</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 1327064 98448 185000 0 738769 975000 1075000 400510 93302 3882 131846 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>Share-based compensation related to:</b></span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Common stock grants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">400</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Stock option grants</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">210</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">232</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted Stock Unit awards</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">2,545</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,818</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">1,175</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total share-based compensation</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,208</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,428</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,807</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 400000 400000 400000 263000 210000 232000 2545000 1818000 1175000 3208000 2428000 1807000 1300000 800000 700000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Years Ended December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 6pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected volatility</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">34.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">33.7</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">32.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected dividends</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436368">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436369">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 6pt; text-align: right;"><span style="-sec-ix-hidden:c95436370">None</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">0.8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">0.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercise price</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">77.28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">57.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">43.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected term (years)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">6.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average grant date fair value</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">30.37</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">19.60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 6pt;">14.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.347 0.337 0.328 0.029 0.008 0.003 77.28 57.34 43.95 P6Y2M12D P6Y2M12D P6Y1M6D 30.37 19.60 14.10 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares Under Options</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Exercise Price</b><br/> (per share)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Remaining Contractual Life</b><br/> (in years)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Aggregate Intrinsic Value</b><br/> (in thousands)</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">98,671</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">33.53</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Granted</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,876</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">77.28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercised</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(16,472</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">23.72</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="text-align: right; font-family: Times New Roman; font-size: 10pt;"><em style="font: inherit;"> </em></td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">92,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39.98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,174</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Exercisable at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">82,199</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">35.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.53</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">6,773</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Vested and expected to vest at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">92,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">39.98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,174</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 98671 33.53 9876 77.28 16472 23.72 92075 39.98 P5Y11M12D 7174000 82199 35.50 P5Y6M10D 6773000 92075 39.98 P5Y11M12D 7174000 1200000 200000 800000 400000 200000 500000 1876 95.82 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Restricted Stock Units</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted Average Award Date Fair Value</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at December 31, 2021</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">101,168</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Awarded</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">51,981</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">74.66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares vested</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">(49,575</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">41.05</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Forfeitures</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(1,244</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">63.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Outstanding at December 31, 2022</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">102,330</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">56.02</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 101168 41.78 51981 74.66 49575 41.05 1244 63.34 102330 56.02 19425 67.05 14190 11423 52.55 49.91 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Options</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Restricted</b><br/> <b>Stock Units</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 52%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">131</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,186</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,317</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,287</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt; text-align: right;">-</td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">150</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">150</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">131</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,623</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,754</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 131000 2186000 2317000 0 1287000 1287000 0 150000 150000 131000 3623000 3754000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">14</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Leases</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has operating and finance leases for offices, manufacturing plants, vehicles and certain office and manufacturing equipment. Leases with an initial term of <em style="font: inherit;">12</em> months or less are <em style="font: inherit;">not</em> recorded on the balance sheet. The Company accounts for each separate lease component of a contract and its associated non-lease components as a single lease component, thus causing all fixed payments to be capitalized. Variable lease payment amounts that cannot be determined at the commencement of the lease such as increases in lease payments based on changes in index rates or usage, are <em style="font: inherit;">not</em> included in the right of use (“ROU”) assets or lease liabilities. These are expensed as incurred and recorded as variable lease expense. The Company determines if an arrangement is a lease at the inception of a contract. Operating and finance lease ROU assets and operating and finance lease liabilities are stated separately in the condensed consolidated balance sheet. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">ROU assets represent the Company's right to use an underlying asset during the lease term and lease liabilities represent the Company's obligation to make lease payments arising from the lease.  ROU assets and lease liabilities are recognized at commencement date based on the net present value of fixed lease payments over the lease term.  The Company's lease term includes options to extend or terminate the lease when it is reasonably certain that it will exercise that option.  ROU assets are also adjusted for any deferred or accrued rent. As the Company's leases do <em style="font: inherit;">not</em> typically provide an implicit rate, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">ROU assets and lease liabilities consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease ROU assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,942</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,053</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease ROU assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">211</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">271</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total ROU assets</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">13,153</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">9,324</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,181</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total lease liabilities - current</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,517</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6,903</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">156</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total lease liabilities - long-term</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">10,851</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,118</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>($ in thousands)</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Lease Cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance lease cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Amortization of right of use assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">27</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,621</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">304</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">43</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,047</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,599</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for amounts included in measurement of lease liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,452</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,284</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">29</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">ROU assets obtained in exchange for finance lease obligations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">198</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average remaining lease term (years):</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3.54</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">4.54</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average discount rate:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The aggregate future lease payments for leases as of <em style="font: inherit;"> December 31, 2022 </em>were as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Finance</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating (a)</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,492</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,420</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,234</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,012</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,709</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">3,611</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,478</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Less: Interest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,325</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">13,153</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;"><tbody><tr><td style="width:45pt;"> </td><td style="vertical-align:top;width:18pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(a)</p> </td><td style="vertical-align:top;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Future operating lease payments have <em style="font: inherit;">not</em> been reduced by minimum sublease rentals of approximately $2.1 million due in the future under non-cancelable subleases.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Rent expense amounted to approximately $2.6 million, $1.4 million, and $1.3 million in <em style="font: inherit;">2022,</em> <em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease ROU assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,942</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,053</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease ROU assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">211</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">271</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total ROU assets</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">13,153</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">9,324</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,458</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,181</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - current</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total lease liabilities - current</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,517</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">2,239</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease liabilities - long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6,903</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Finance lease liabilities - long-term</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">156</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;"><b>Total lease liabilities - long-term</b></p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">10,851</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">7,118</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 12942000 9053000 211000 271000 13153000 9324000 2458000 2181000 59000 58000 2517000 2239000 10695000 6903000 156000 215000 10851000 7118000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Year Ended</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>($ in thousands)</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Lease Cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance lease cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Amortization of right of use assets</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">60</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">27</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Interest on lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,621</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Variable lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">304</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">263</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">43</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease cost</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">3,047</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">1,599</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash paid for amounts included in measurement of lease liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating cash flows from operating leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,452</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,284</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Financing cash flows from finance leases</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">29</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">ROU assets obtained in exchange for finance lease obligations</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">198</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average remaining lease term (years):</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3.54</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;"><em style="font: inherit;">4.54</em></td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3.95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted-average discount rate:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Finance</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Operating</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">3.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> </tbody></table> 60000 27000 5000 3000 2621000 1263000 304000 263000 57000 43000 3047000 1599000 2452000 1284000 63000 29000 0 198000 P3Y6M14D P5Y4M2D P3Y11M12D 0.0210 0.0210 0.0300 0.0263 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Finance</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Operating (a)</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2023</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,492</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,420</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,234</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">28</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2,012</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1,709</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">3,611</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">223</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,478</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Less: Interest</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(8</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">(1,325</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value of lease liabilities</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">215</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">13,153</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 63000 2492000 63000 2420000 63000 2234000 28000 2012000 6000 1709000 0 3611000 223000 14478000 8000 1325000 215000 13153000 2100000 2600000 1400000 1300000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">15</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Other Long-Term Liabilities </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Other long-term liabilities consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued contingent consideration (earn-out)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value of non-competition payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,155</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">676</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">18,220</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">15,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">Certain amounts for the year ended <em style="font: inherit;"> December 31, 2021 </em>were revised to conform to the current year presentation (See Note <em style="font: inherit;">1</em>).</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued contingent consideration (earn-out)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">5,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value of non-competition payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,155</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">676</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">18,220</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">15,185</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 9568000 5188000 8155000 9321000 497000 676000 18220000 15185000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">16</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Commitments and Contingencies</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;"><tbody><tr><td style="width:27pt;"> </td><td style="vertical-align:top;width:18pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(a)</p> </td><td style="vertical-align:top;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><i><span style="text-decoration: underline; ">Legal</span></i><i> </i>– From time to time, the Company <em style="font: inherit;"> may </em>be a party to various suits, claims and complaints arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should <em style="font: inherit;">not</em> result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company’s financial condition or results of operations.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;"><tbody><tr><td style="width:27pt;"> </td><td style="vertical-align:top;width:18pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(b)</p> </td><td style="vertical-align:top;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><i><span style="text-decoration: underline; ">Contingent Consideration</span></i> – In conjunction with both the Contech Medical and DAS Medical acquisitions in the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2021,</em> the Company incurred liabilities for certain contingent consideration related to the valuation of earn-out payments based upon the performance of the business. Also in conjunction with the DAS Medical acquisition, the Company incurred a liability for contingent consideration related to the present value of non-competition payments. We re-measure contingent liabilities each reporting period and record changes in the fair value through a separate line item within our consolidated statements of operations. Increases or decreases in the fair value of the contingent consideration liability can result from changes in discount rates, periods, timing and amount of projected revenue or timing or likelihood of achieving regulatory, revenue or commercialization-based milestones. The use of alternative valuation assumptions, including estimated revenue projections, growth rates, cash flows, discount rates, useful life, or probability of achieving clinical, regulatory, or revenue-based milestones could result in different purchase price allocations and recognized amortization expense and contingent consideration expense or benefit in current and future periods.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">17</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Employee Benefit Plans</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company maintains <em style="font: inherit;">401</em>(k) and profit-sharing plans for eligible employees. Contributions to the Plans are made in the form of matching contributions to employee <em style="font: inherit;">401</em>(k) deferrals, and until <em style="font: inherit;">2020,</em> discretionary profit-sharing amounts determined by the Board of Directors to be funded by <em style="font: inherit;"> March 15 </em>following each fiscal year. Contributions to the Plan were approxi‐mately $0.7 million, $0.6 million, and $0.9 million for the years <em style="font: inherit;">2022,</em> <em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has a partially self-insured health insurance program that covers all eligible participating employees. The maximum liability is limited by a stop loss of $225 thousand per insured person, along with an aggregate stop loss determined by the number of participants.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has an Executive, Non-qualified “Excess” Plan (“the Plan”), which is a deferred compen‐sa‐tion plan available to certain executives. The Plan permits participants to defer receipt of part of their current compensation to a later date as part of their personal retirement or financial planning. Partici‐pants have an unsecured contractual commitment from the Company to pay amounts due under the Plan.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The compensation withheld from Plan participants, together with gains or losses determined by the participants’ deferral elections is reflected as a deferred compensation obligation to participants and is classified within the liabilities section in the accompanying balance sheets. At <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021,</em> the balance of the deferred compensation liability totaled approximately $4.2 million and $4.3 million, respectively. The related assets, which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender values of the policies and totaled approximately $4.1 and $4.3 million as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022</em> and <em style="font: inherit;">2021,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 700000 600000 900000 225000 4200000 4300000 4100000 4300000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">18</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Fair Value of Financial Instruments</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">Financial instruments recorded at fair value in the consolidated balance sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs used to measure their fair value. Hierarchical levels defined by ASC <em style="font: inherit;">820,</em> <i>Fair Value Measurements and Disclosures</i>, and directly related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;"><i>Level <em style="font: inherit;">1</em></i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;">Valued based on unadjusted, quoted prices in active markets for identical assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;"><i>Level <em style="font: inherit;">2</em></i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;">Valued based on either directly or indirectly observable prices for the asset or liability through correlation with market data at the measurement date and for the duration of the instrument’s anticipated life.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;"><i>Level <em style="font: inherit;">3</em></i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 46pt;">Valued based on management’s best estimate of what market participants would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation technique and the risk inherent in the inputs to the model.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table presents the fair value and hierarchy levels, for financial assets that are measured at fair value on a recurring basis (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; ">Level 2</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Derivative financial instruments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">176</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; ">Level 3</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price contingent consideration (Note 2):</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Accrued contingent consideration (earn-out)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,731</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Present value of non-competition payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,043</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,477</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Derivative financial instruments consist of an interest rate swap for which fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that are observable at commonly quoted intervals for the full term of the swap agreement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In connection with the acquisitions discussed in Note <em style="font: inherit;">2,</em> “Acquisitions,” the Company is required to make contingent payments, subject to the entities achieving certain financial performance thresholds. The contingent consideration payments for both acquisitions combined are up to $25 million. The fair value of the liabilities for the contingent consideration payments recognized upon the acquisition as part of the purchase accounting opening balance sheets totaled approximately $9.7 million and was estimated by discounting to present value the probability-weighted contingent payments expected to be made. Assumptions used in this calculation were managements financial forecasts, discount rate and various probability factors. The ultimate settlement of contingent consideration could deviate from current estimates based on the actual results of these financial measures. This liability is considered to be a Level <em style="font: inherit;">3</em> financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Also in connection with the DAS Medical acquisition, the Company has entered into Non-Competition Agreements with the beneficiaries and the Company has agreed to pay additional consideration to the parties to the Non-Competition Agreements, including an aggregate of $10.0 million in payments over the <span style="-sec-ix-hidden:c95436557">ten</span> years following the closing of the DAS Medical acquisition for the 10-year noncompetition covenants of certain key owners. The present value of the Non-Competition Agreements totaled approximately $8.9 million. This liability is considered to be a Level <em style="font: inherit;">3</em> financial liability that is re-measured each reporting period. The change in fair value of contingent consideration for the acquisition is included in change in fair value of contingent consideration in the consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has financial instruments, such as accounts receivable, accounts payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company’s long-term debt approximates fair value as the interest rate on the debt approximates the estimated borrowing rate currently available to the Company.</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; ">Level 2</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Liabilities:</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Derivative financial instruments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">176</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; ">Level 3</span></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Purchase price contingent consideration (Note 2):</p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Accrued contingent consideration (earn-out)</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,568</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,731</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Present value of non-competition payments</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,043</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 13%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">9,477</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> -0 -176000 14568000 9731000 -10043000 -9477000 25000000 9700000 10000000.0 P10Y 8900000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">19</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Segment Data</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company consists of a <span style="-sec-ix-hidden:c95436572"><span style="-sec-ix-hidden:c95436573">single</span></span> operating and reportable segment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Revenues shipped to customers outside of the United States comprised approximately 16% of the Company’s consolidated revenues for the year ended <em style="font: inherit;"> December 31, 2022. </em><span style="-sec-ix-hidden:c95436575">One</span> customer comprised approximately 21% of the Company’s consolidated revenues for the year ended <em style="font: inherit;"> December 31, 2022. </em>No customer comprised more than <em style="font: inherit;">10%</em> of the Company’s consolidated revenues for the years ended <em style="font: inherit;"> December 31, 2021 </em>and <em style="font: inherit;">2020.</em> <span style="-sec-ix-hidden:c95436580"><span style="-sec-ix-hidden:c95436581">One</span></span> customer represented approximately 10% of gross accounts receivable for both years ended <em style="font: inherit;"> December 31, 2022 </em>and <em style="font: inherit;">2021.</em> Approximately 17% of all long-lived assets are located outside of the United States.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company’s custom products are primarily sold to customers within the Medical, Automotive, Consumer, Aerospace &amp; Defense, Industrial, and Electronics markets. Sales by market for the years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020</em> as follows (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 22%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Market</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Medical</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">286,180</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">132,505</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">64.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">120,258</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">67.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Automotive</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,487</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,596</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,607</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Consumer</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,255</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">26,048</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">12.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">18,316</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Aerospace &amp; Defense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,328</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">16,380</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,810</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Industrial</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,322</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,413</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,622</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronics</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">7,220</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">7,378</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">5,760</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net Sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">353,792</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">206,320</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">179,373</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">Certain amounts for the year ended <em style="font: inherit;"> December 31, 2021 </em>were reclassified between markets to conform to the current year presentation.</p> 0.16 0.21 0 0.10 0.17 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2021</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2020</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 22%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Market</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net Sales</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>%</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Medical</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">286,180</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">80.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">132,505</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">64.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">120,258</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">67.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Automotive</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,487</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,596</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">14,607</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">8.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Consumer</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,255</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">26,048</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">12.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">18,316</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Aerospace &amp; Defense</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">15,328</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">16,380</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,810</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">7.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Industrial</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">10,322</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">2.9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,413</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">7,622</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronics</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">7,220</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2.1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">7,378</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3.6</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">5,760</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3.2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">%</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net Sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">353,792</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">206,320</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">179,373</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100.0</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">%</td></tr> </tbody></table> 286180000 0.809 132505000 0.642 120258000 0.672 17487000 0.049 15596000 0.076 14607000 0.081 17255000 0.049 26048000 0.126 18316000 0.102 15328000 0.043 16380000 0.079 12810000 0.071 10322000 0.029 8413000 0.041 7622000 0.042 7220000 0.021 7378000 0.036 5760000 0.032 353792000 1.000 206320000 1.000 179373000 1.000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(<em style="font: inherit;">20</em>)</b><b> </b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Quarterly Financial Information (unaudited)</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">Summarized quarterly financial data is as follows (in thousands, except per share data):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q1</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q2</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q3</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q4</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">71,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">94,343</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">96,970</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">91,237</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">24,324</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">25,523</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">23,279</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,858</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">19,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,462</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.64</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.18</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.12</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.64</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2.56</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>2021</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q1</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q2</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q3</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q4</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">48,599</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">50,655</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">50,723</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">56,343</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,609</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">13,414</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,016</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">13,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,163</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,715</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,789</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,219</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.43</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.62</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.42</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q1</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q2</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q3</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q4</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">71,242</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">94,343</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">96,970</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">91,237</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">17,134</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">24,324</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">25,523</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">23,279</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,858</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,929</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">19,540</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">8,462</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.64</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.18</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.12</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.64</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">2.56</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">1.10</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 48%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>2021</b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q1</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q2</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q3</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td colspan="2" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Q4</b> </b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">48,599</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">50,655</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">50,723</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">56,343</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,609</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">13,414</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">12,016</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">13,075</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,163</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">4,715</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,789</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">3,219</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.63</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.43</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Diluted net income per share</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.62</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.50</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 10%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; text-align: right;">0.42</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 71242000 94343000 96970000 91237000 17134000 24324000 25523000 23279000 4858000 8929000 19540000 8462000 0.64 1.18 2.58 1.12 0.64 1.17 2.56 1.10 48599000 50655000 50723000 56343000 12609000 13414000 12016000 13075000 4163000 4715000 3789000 3219000 0.55 0.63 0.50 0.43 0.55 0.62 0.50 0.42 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">Schedule II</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a href="#" id="Schedule_II" title="Schedule II"/>UFP TECHNOLOGIES, INC.</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Consolidated Financial Statement Schedule</b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Valuation and Qualifying Accounts</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Years ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">2021,</em> and <em style="font: inherit;">2020</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Accounts receivable, allowance for credit losses:</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 55%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">486</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Provision for bad debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">179</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Write-offs, net of recoveries</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(40</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Sale of Molded Fiber business</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(39</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">733</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </p> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: Times New Roman; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2021</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="font-family: Times New Roman; font-size: 10pt;"> </td><td colspan="2" style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><b><b>2020</b></b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 55%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">486</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Provision for bad debt</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">293</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">179</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">13</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Write-offs, net of recoveries</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(40</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(144</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(15</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Sale of Molded Fiber business</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(39</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of year</p> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">733</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">519</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt;"> </td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">484</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td></tr> </tbody></table> 519000 484000 486000 293000 179000 13000 40000 144000 15000 -39000 0 0 733000 519000 484000 Certain amounts for the three and nine months ended September 30, 2021, were reclassified between markets to conform to the current period presentation. EXCEL 109 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $.$<%8'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 " !#A'!6+Y=&XN\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M3L,P#(=?!>7>NFU@AZCK91,GD)"8!.(6)=X6K?FCQ*C=V].&K1."!^ 8^Y?/ MGR6W*@CE([Y$'S"2P70WVMXEH<*:'8F" $CJB%:F/K&NJAA<5+^K5KJD$Y^+^X6-V_>%W$[9>F[WY MQ\97P:Z%7W?1?0%02P,$% @ 0X1P5IE&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" !#A'!6H&%1D&(' "J, & 'AL+W=ONV2)#(.83C@2 M2101_GY-0[:Z:MB-S8''8+Z0Z8%6[W))YG1*Y=-RPM5>:ZOB!Q&-10/Y](4DH7QDJUN:-ZB3 MZGDL%-EOM%J?VVXWD)<(R:(\6-U!%,3KO^0M![$3@'%% ,X#\(< N^H*3A[@ M'!K0S@/:&9EU4S(. R))[Y*S%>+IV4HMWVFBI^D ??KU]\N65)=+@UI>+GV]EL85TC9& M]RR6"Z%T?>J7!5KJ/KXU!Q0'U3I%CGR!L8:RY(1<.OR?\%-E6%NYH MP@=P^)])K*YNZ:Y>:HVS1>]D>LX^]+N\_[E39Z&1I)'X5X=\+=G62Z:#Q&>Q M)!Z]:JA10%#^2AN]WWZQN]8?.EPFQ0:&Q$HHVUN4;4B]ER>NJVAR$BJ@/GU# M7^F[CB"L9*F?"[MM=[HZ8&!L76"&Q$K .EM@G4. /=)Y(!0RE81C$E$=+ECG M:3A!LQOW=OQP]_!E=#-%H[&K P>JU 5G2*P$KKL%UP4;W%<]UL]Z[3 D6 M(;$2K(LMK(M:L++\JD0%:U79"#"J+BQ#8B58ME78.^LP7+/WI;;[[8FWK>97 M'2(XK"XC4VIE2#L>V#X,4C^.$Y53CW3)N-32@H4D3[2#.QQ6FY8AM3(M7-#" MA]'*QREH<-\GM3'TE8X>%JA-SI!:F5QA^&W0!.]T1F6Y1) 9?B#78+%*)P'' MU49V#%]O%\;>/LC9#X.0HG$2/5.N1;7/U-O*1G3;YUI<1DV]*;4RKL+6VP?Y M^E'L,:[R*JLI3]!4JNZ)&$0YP1M[0R%==-7@)O'5E#F0?+&FUF]BQVQ=GEI:>4>-O2JU,K[#^-NS6HYX>\5SQ@7CJZ-[AB%@5U4!C9LYS^BVPY[$\Y>@]C3 MIQ^L>=_78C-:(9A2*\^I%B4"ABW^1VP3)J0RP7\'R\KGQ!Y%R[[H6$VG8[6U MD[1&2P=3:F5X1>F 8<>?=<\^IZ2:%2QP<:9U)7!4;4C'J!AP43%@V.;?L6Q: M8\%BR,3M$7$ZN(FQI7V(PJ&U:1VC2L!%E8!A8S\+I'K(ZF[]$S"[6T8(&G MX62FI62T0#"E5J94% @8MO";;$(W;]Z"Q'-:.?&_1VC17U #ZH'OA.P[#Y,U8>3/5'(M1 YJ.1$$G%2 9KCID6F]%"P)1:&5M1"."# M"H%O+%0%)^'K IYKIVCW*%7 ,FKY3:F58166'Q]D^31Y6$$O#78MKU!4:=OBFU,KG"Z3NP4<_) M32,2AN@Z$>ICH>V;>W0JYVWAN-JTCF'YG<+R.[!;SVG=1)3/TZ'LBU*0"U4D M14L2ZQ,.%JS&9M3[FU(K8]M9$@0[]I$[?$3]Q \DXZ@O)56E>#;[6+7:8(]> M-36S:W^.8?V=POH[![TDF"Z42P-3#):IAF6T C"E5H955 #.0:\()LES&'@J MKQC1/BMAE=HKS8S6!+E:)U-+5[:^]CH=?($[#NY>MEYU> K#[QQD^'=+YQ.5 M643=%GI(I.J/<5IF:I&9=/!NKM;=:>19U[:LCKUM8D[C&%;?*:R^ QOTS6@U M#'B$1@,M&%@!ZU_,P5&U<^88'M\I/+X#._(-I:IJ>T_XE\?^>(9FMP^/X]G# M&-W=3;3$C/I[4VIE8H6_=V WOB&63AZFCT M-5CBF@F9OO^\)T(0;Y$(*J76 MXL,ZM<$9M?BMG<7=J9O*%LD+Y*6OH+Z_(4QN=E)+[#]]X3> M_U!+ P04 " !#A'!63@;(!!D' #1'@ & 'AL+W=O5**H9\OS[K/K9GFN M6E,6M;QNB&ZK2C1/[V2I'B]F=+;_X$-QOS;V@\7R?"/NY8TTGS;7#=PM#EY6 M125K7:B:-/+N8O:6OK[DF1W06?Q=R$<]N"8VE%NE/MN;]ZN+66 1R5+FQKH0 M\.]!7LJRM)X QY>=T]GAF7;@\'KO_9 CF5FAYJVP8SDK3:JV@T&!%51;_^+K[M$# ;0<&( VPU@ MSQW =P-X%^@661?6E3!B>=ZH1])8:_!F+[K<=*,AFJ*VTWAC&OBV@'%F>:EJ MKB%'4NR8UUI\D9^71S17Y^\9*\($5-/JY5JT6]TN<+ T^VXQ?Y M[BGOMD]A$T^YDODKPNF$Y@UDML+^:4M'D0)P:.SN'45=:YL WA8AF$$&7\81N,:4?A)#E9',,,# MS- +\X/,)2"[+:6>DUH:#-W60SQXCA/HFJ4)9P&.,3U@3$\D$#BQ M,4]SLH'N9[I:L66R ;(RDVLQ=6<\#9)Q3A&K.(HS''!V )QY ?^JU.JQ*$L, M5H8DD@%"S((D"R(<& UZ,@E.E(D1]7T!5;R;[,G\[1P-(<0IC\>]!C-+ MHG0*Z(#UJ!?HGZH^^]**LK@K@/> ]B4L4>B1JK)5)#J%89<#"ITZF$(:CE., M67$VT25ISUS42Q;+3F<1=4=:+3T%M?-R-,.<1GP,TC7+H#5,@.PIA_HYYVJ? MSZ*&C$IBQ%>\,>W\',$,W52Z5A,U3WNZH7Z^^-+($(CL=/1$2M* S8! MKB<;ZF>;;=OT@$.8)$EI-FX_F!T/*9\"V',.C9\EH,I"W!9E88 6415%O=SU MK3+J>WD[#KKG,NHGL[=YKEH03F0CGJQ000-&F"S+W+:&F 4QI1/STE,9]7,9 M0&Q:Z1<#U"4EQBESUHYK1N,DF6I@/7E1/WL=>D,C05*U>!9=?@KC)!LC1*Q8 M. &0]1S&_!SVNX1=X7!EH]L#EY=8Y$A1S(KQ"?IG/7DQ/WF]'W15WV)D+@71 M.!U/-&*5!5,8!SLL/T_M.T11:^AEI=526S%@N:M4]?V9D4T%S'N+R@/F$E,8 M!,$8^@FK8^P]?3$_?1VKUE,KP26G*'(K'C'C:3*EKUG/8\S/8[\?I7(.E9^7 M[:JH[P_XAS. !H!LJRB2:]LYS4SC(U29]^/F"64IA,0>\YB?L[: M*K%3$!$V2AES%BEB%M&I[0+K28OY26O;$4YA1'9581"'SE0C=CR+TXF# -XS M%_:W*E6STCS^DC"9ONGV\>4*E*?=R[+=*T^_E[3CVGFVYGVVO MFWU+TC8+<_+B54!!&C3D092MG!,ZAU9M?XE>"T! 1&O6JBG^E:LWI%;[3PNM M03ZBZ7*I=EQ\7I/CP :'ER=.+V%)0V^=B(H%OK"2.2CJ.0O#KAB2>932>9Q& MQ[%VWZG6 $?6EC;GH$OU1G8O%\HG(@RYDKFL;J%%[<^OW^S]Q>$\#J/]'8_F M01I_B_BV(V$XV/]_*"^^7%V]6JL.P&W<^>,IX5-KCBVCZP%G_+1C"Q0JMF=.HC :@T7T1Q:&X12U]P*$?Z, Z3+[ M;/B9\\H&/2_"[+#SHL7@?:-]V?N':.YAFT%*>0<#@U<)>&BV[T^W-T9MNE>0 MM\H85767:RD MC6 [^\4:)/=C7VK>7B+O?P/4$L#!!0 ( $.$<%;/EB4N MN0( #L) 8 >&PO=V]R:W-H965T&ULI99;;]HP%,>_ MBA7MH94Z4[^:.[[P./)!-HVV7)20E,$LZ0@/7<^>3?+J8FW@;\)+"3>VUDG#QR_F0Z7_.Y MXQD@H) IDP'KGRTL@%*32&/\;G,ZW9)&N-]^S?[9>M=>'K&$!:>_2*Z*N9,X M*(L%A-"V]29G M3S>HP@)M,:T!71&&Y(_WJ'S/?H[HA^,.#(2=@?"?#! IZV'X M\ 3J&/N]B /@J ..W@5>\++4_SO_42S1.<4R$'2 'G?H\07H%U=*?+*5@==; M*F<$'O!/.O[)Y?SG%=.3)Y>3Z,)4*LYRP MS1!^TH.5^'$2'>'WQ8TC+XG[\:<=_O1=_._Z8B!K\7)D8 !Z>EH&TRB:'B$/ M137 [M[19JX5W[#8$"81A;76>:.)?E]$]H])@<9> MMUQT+9IUO68DVM8JB2Y))^F_WZ'D2#9)<2V0F]A27A[S(0]Y7DI7CUQ\E5O& M%'IJZE9>S[9*[2[G6*I+I!I_BG8H_RZ#O2*/>.!+5E=ZTC0CV^'H+/A-W7#X^_/T=]U\ !S3R5;\OI+5:KM M]2R;H9*MZ;Y6G_CCG^P %.MX!:]E]Q<]'K3!#!5[J7AS: P]:*JV_Z1/AX$X M:H"3B0;DT("8#:*)!N&A0?BC#:)#@Z@;F1ZE&X<5571Q)?@C$EH-T?27;C"[ MUH!?M7K>[Y2 _U;03BV6O)6\KDJJ6(GN%'S I"J)^!K=M@5O&'J#/M^MT.M7 M9TANJ6 252WZ>\OWDK:E/$>O3JZOY@HZI4//BT,';OH.D(D.8(+>\U9M)?J] M+5EY&F .- ,2>4:Z(=Z(*U9;8T?SU8\W#SPTX3!!81D,08X*6MBC'&D4%@JR( B-P R0"0> 'N8&>MVLTYVK"6 M"5J?(UBNB):PI512":IW7\2>H)Q(]RPE=J_B-#=&?VFK2!YE9J(Y5&F43^19 M.A"F7L*WQ;=]):NNFA20\AKT>O:ON&93MO02Y=,Y7;A/A.(FQ@63+3"2?X@0) M!V/E#+Q0KS75&:KUSG!@Z^HF[!([)M3W<[2K*4R;7F@,!N0+XC]R,-5MQPR5]URR:;K%AD=$HF\.=)[O>(D4WI@Y_Y'O'[K MIU/E):.M7BK:Z4B.?HSX_=@[L)C5ID7%7@C6%M^1$K25->T?09?_[J6:.J01 MVU?!(2.R%2Q\+%J;5P;9ESX3IDCH4[/WK,WC"QZ5Y72!CV?:OZQ]/#W>&5R-ON M18!Q_P9?KOH7&V.8_CW+>RHV52M1S=80,KA(H4^B?W717RB^ZQ[FWW.E>--] MW3):,J$%\/\UY^KY0O_ \ )I\1]02P,$% @ 0X1P5C_D@+-X!P 3D M !@ !X;"]W;W)KZQIB!KV51TXS.A+LL$5_\\MJCV;3][:J>3X((\7([@Z/L/ M'_*[-6M^&,^FF^P.7V/V:7-5\Z/Q'F65E[BB.:E C6\O1Z_AJ]1UFP&MQ=\Y M?J 'WT$SE1M"/C<';U>7(Z>)"!=XR1J(C'_?@3=Q/R&[PE*6C[%SQTMLX( M++>4D;(;S",H\VKWF7WMB#@8X'I'!J!N !('!$<&N-T 5QB PB,#O&Z )WHX M-L#O!OBBAV-S"+H!@3 ND<&A-V L$W6CMTV-8N,9;-I31Y W5ASM.9+F]]V M-,](7C6E>,UJ_M^N,44!N^1%9?EZ38H5K^AN( MOVQS]@U<@$_7"_#[L^> KK,:4Y!7X..:;&E6K>@+\&QP/!TS'F+C:+SLPGFS M"P<=#:8&VKL'[+:.,X^35'?CW'2YO@'S'B;<\KBK*YX?%2'%1L"?#]_"UXS5N1YTJ(D>]2,_,=%M_:WC4@.4&H (IVHX;,R+;%]I:%]IJ,7QCN"\R8JL6F+P M.T_ KG:>@XR!!5Z^!"Y\ 9 #(U7![%"#%K4YL=[/0L\+IN/[PQ+0NFY.YZ_H M)EOBRQ$_7U-+' MI'6'Y _2*B15-G&=R$=#JX5L!5WHBV:Q;"8PE\@6%_XD%.A5> M@%,&]V8 X M;T^^7&%"2GUIKG#B"&?$A6PD$!(;+1(Y%)%492BA MNAF"/5F!EJSX*ZZ7.<7-/0AM+UYDTY!%3=T02,$@\3JA]7QJ-]@$BVV")3(3 M8N(LN1LD.-PG.'Q:@E5)#4TU. _EDZ!X*5G(-F(W&"T28R2I/I(!5Y,]5Q,M M5W_QU6A;\H!BQHKV[KSAC6>%WS NF[OV'87;*F?&#IE( 5Y 7Z!3&\^I+6(3 M++8)EM@$2RV!#2HDVE=(9+%"5%41&5LLDNLF]"9"C\E&8H\9+1*C16H(94 A M=/I5L&,D,:_XI1F#VYJ4_")]L"PF&UQG1T]0';*.OLY$,ZV%P@2Z;A )#.JG M<6H/F$-/C7$-"3^0':"6\/=LC>OV7JC&ZT;9NL>@(%3-L!;JQ$G/K:(MK*+% M5M$2JVAIAZ8NXF$5])( _%%- #G*BE"( KXCM9U55< J6FP5+5'P(0D#MCP. M4]U+ _ IVL"1]"K$ ?$VI;,93!EY$_'&3V$&/2]"4#RQRG;BM4D1E4(@4#D, M@TGD'NF57B* Y]$(H$(DD,BTJA)818NMHB4*-J1&.8=2 'NI -K3"J!QA3Z' M\A(=>4B\=U-8B3=O9I/$'$YJ"F=(6B\9P#-I!E!>*H74/ U&,5AA)?616&LPFJ2&:(6>]V !_IMH 57*# MU%U6]0:K:+%5M,0J6FH+;5@IO>@ SZTZ0+/L !6+_0BY8L^9A0>S26(V24WA M#!^+]MH#.IOV@,S:@]ZYNDZ \JFH0@GP)Q-!88^?XD_SP-.L4!CC&J:E5RB0 M/85"#W6J0F$5;6$5+;:*EEA%2]&C%0ITL&GAAQ4*J*P(E4+ABNLNO?.3,VUW MXX+=G0N/V;IP#H4"]0H%>I)"H4[O(Q0*I% H/.@+RL-"8<:G=/@4MLE"O0S)0JDD"C$!>9<']')W655HK"*EBCHD+)Z#MT!];H#.K?N@,RZ M U(L]&$0BJ*YPDSJ)+/P8(XG-<8SW*W;*P_NV90'U[BE86XV62A,/!A.Q%T/ M^FF<6N3FN%)C7$/">TW!M:,&3B@UB6S&O?J1J&TJ[%2=\K@7"10^W= _>#2_XW!\\&Y7\W+@NZR^ MR_FJH<"W?*#S,N0(]>Y]N]T!(YOV=:\;PA@IVZ]KG*UPW1CP_]\2PKX?-&^0 M[=]ZG/T/4$L#!!0 ( $.$<%9?+9ZJCP@ @I 8 >&PO=V]R:W-H M965T&ULK9I=;]LX%H;_"N$=+%J@J<4/258V,9#:T]E>="=H M9G:O:9FVN94E#RD[R?[Z)27'LL@C)@%\T]K*RV.]Y.'A0THWCY7ZJ3="U.AI M6Y3Z=K2IZ]WU>*SSC=AR_;G:B=+\956I+:_-5[4>ZYT2?-DTVA9C$D7)>,ME M.9K>--?NU?2FVM>%+,6]0GJ_W7+U_$44U>/M"(]>+OR0ZTUM+XRG-SN^%@^B M_G-WK\RW\2G*4FY%J655(B56MZ,[?#UGQ#9H%/^6XE&??4;6RJ*J?MHOWY:W MH\C>D2A$7ML0W/QW$#-1%#:2N8^_CD%'I]^T#<\_OT3_VI@W9A97A6Z^1<]'K71".5[75?;8V-S!UM9MO_S MIV-'G#7 R4 #SJI25X5<\EHLT4-M_C.#6FM4K=",ZPWZ:A)# MHROTY\,E?5& MHU_+I5CV XS-S9\"W+=3M#9"V%OH:ZO0W+X+"V>ESK'<_%[;55K3=F9^G^[%O MS26H0]O <1/85L_#E.%TDMV,#^<]Y:MP/)DD?=4<4%&:=+%ZWN*3MSB8*G?+ M_YKZT$[7NC)%V)C+92%0V9DVU^VWW&;53E4':>8<6CR_/:WB2Z;5)8/-+Q2L MU_7)J>N38%K-A0F:2]XN7>42\6VE:OF_Y@+4C6VXY#P!L)B&8),"EC$J5^_H1V!2_KQJKX:R]W M-NL@GZEW9AM>KH7EBQ67"AUXL6^&R90U6ZE, MQC7EVY0P->CQ^!/GMY9-:.J8!%3N2 4E?8-GJ(5?J1HKH909J9?BS)\$C%#8 M3SB6NI5@!LEPFKDS"9!AF@R8(9T9$@:59K2T':ZSQ41K858C6R8*R1>R&%Y8 MCN$OM+)<--K\4M'Z7=LA( XBT?2'R(4\\(4IPI_L\@UV'P7&/IDDS,T10)>F ML95[M+:[O^+.=WJ -GQ$R3%W4 %0X(JX)@%O.K?9==,B!P\QA M7*B]>&4^ (@0,>8"+RB+,M>'K[J*Z0!OD(XW2)@W3LNQ$J9*[<'1(#X&F!MT MH0E0$>*MPX#*#,>0C8XJ2)@JVGEQMMR"/@!4H"3SC$!$P:@[P0$9CB8#TX-T M2$&"ZVJS67_33A5T2/Q[2E/FKH>0C!&OA $R$D>#.=1]QSO2+)#Z+?MP MO6,E$(/0=.+"-J2+:1:[B0.A M"AW:GY,.0D@80NYR8T*W/ALH;'9&-INX_8MRCU*/YB"4B!)O68=T68)3=^,' MZ 88D71<0L)<W/0&<084>3N] "9N],+2OJ>.E8A85:!/;T_ M-WT*25+L>?15V#M.@41#6W;2 0T) PU8L3_L=;/'_0A6-] G0#,D0:!Z=_&^9+3YI:+UGW9T$$;# M$-:?*7QY,#TJFD-(0V55<;"]:]LTY#.U[FU#@H5L-:1&PV36W\4#9 BJ?7> M#J6U5E3E^JH6:HN68@%;]''+<^=+F-\)\V"DOKNS1W+A\YA[)/8@LO(*"2#" \L0[8")O@>8 M[&033T+E4C>33==5_M/LFH;M^;Q#,R\E@0=6B7N^ (A8R@;L=>Q$7V&G+BUU MS>M]7:EG]"CKS<8@H:V8JTJ9B:AK)7/[%+#/P-$7GD*2?IO(W2XP\*XTPSQZ3G7NVPQZ/@H2=PC-4B& M*79W#7- 1\S@#U0GUE$."U/.;,@3XC5:B+4L2YO"9MR?!0>W=@PX7<*>@1D@ M(XQ0=^,#R&C*!LZJ6$<\+$P\09O"7 \9;$/W7BUAWM-D0 5TPQR0];NA-3@^ M>T5L*]2Z>=5.H^8\NGW7ZG3U]#K?7?,2FW/]"[Z>MR_E=6':=P2_VN_5)7N^9%M$55U]6V^;@1W+"&%9B_KZJJ?OEB?^#T\N/T M_U!+ P04 " !#A'!6>$Y.(Z(. #P)@ & 'AL+W=OF#>*D_7"X#]0N M)?&\(KB:-RV:H]/CX^='"VW=WOEK MOOR5Y_X[.=S1/=.#I_W>J9N3+I:_LI MX-=1H5+;A7'1>J>"F;[9NSAY]?8IK><%OUNSC(-K12>9>']-/S[4;_:.22#3 MF"H1!8W_;LRE:1HB!#'^S#3W"DO:.+SNJ;_GL^,L$QW-I6_^L'6:O]E[N:=J M,]5=DS[[Y<\FG^<9T:M\$_FO6LK:9Z=[JNIB\HN\&1(LK)/_]6W6PV##R^-[ M-ISF#:6GZLK.G)W:2KND+JK*=RY9-U.??&,K:^+KHP3&M/VHRDS>"I/3>YB< MG*J/WJ5Y5#^YVM2;!(X@<1'[M!?[[>F#%-^9:JR>G(S4Z?'IZ0/TGA0U/&%Z M3QY00U3)J_?6:5=9W:BKI).!^Z6=!Q9R3W>3HTAZ%5M=F3=[")5HPHW9.__A MNY/GQVKGC]A'_?.+N4WJ;>.KZW_MDOUAZOMPAV]W!O7U_2?U MQ51SYQL_PXV1^N!@F_T?OGMY>GI\EN9&7?I%J]V*[YR<'2@;E4;D1% >*>-F M$, $$!TI[>KL]/!QUTT1LUTP@>2H0"28.<'!C5'1-QU%=53 );4P-01L0//& M5B1"3"#8& 437.M9(>TA35!S!&JS*HQ-8=D&7W<5,$Y]64O-TCIE%ZT/B90 M?5TKZQ2=;),QD*UM0;F: PR9H58WNNG 7 8?13; M;6I##<2>(S"NJ3<$)+6>O#B+*N*^6>KDX43][H1%6.G=^3:2@>C ML*,F^IJPQZB@WY,,_+";C=@ MALL1Y.]( +#%M=%!3QHR&'0[1Z(!/YAVFM3,^SIFHZT?P0@-3'#70#4XAP@W MQ4$F*Z6;Z,F:-[8F2>\:O+?TMC9@%/&%@<9UA]^><@?D,<%S7/-&@#_<$;@@OQ8^C;0H(BF755T\$: M"]O81+'8(0R1AYCJ#)H;R#T:"(F-Y/PP#K@N\"3-&Y.@O%;7M42"#6IJFQ2T MF$1/@IC.:=O0$Y-EARS)<-:$P6)V (L3!SK%OCY0GQ"VE6VQ@^2_Q#D "S73 M91-5Y0Z4/BW0&@NT]NY?;)E/S8H7M!&V0%'D65X/9PAKI=V#/RPJUB_G'NYY MZ)<.$L1N$N$2.O"ZB_J&XOEC]O)?[,)"S-$C6U?J8^>:3OU"^1ZNEZE\,1YQ MDW0A>^EQ2O49I(6RKO4=EH*42.&-J!E.FF%S5'3JM]+8$0&6<&?SA3%:%JII8Z$KPP)_^@@$^58$-N?'*BO MD9'AIY@0]Y0RR_=$K16A80+"YMT]SW'+$/\+9$5*25 MA;6-5>.!S";;A_1,BME])& &TR8+]@'ZJ%'7(NW2'6> +BO>W+:$FX#MCM+^ M8!.;G] +*>X"F0\<^L"OR)5Q$M@(\!60KI$6XL"F%$D'ZCWIXW?6QT>CZG(0L#S*B.^L&1V$Q*L,@C-6GBBG6C8TDYTA^P$8+4UN1@ MU4623A=EKCBM(BI";0*\F)=HR8H3DY;&N)P6N"Y 1=5J=I24RXOU"4CS8_4' M"B < A/J3?K;G 0\KO[_'0YM]6<$WZ.$99:CD@"UL1V36NT Q/Q+.+CR'A$2QO2**T\B60VJP /8V7F\<7DZU&:V[ M]";$J0*RCJW9JZ@8JU@&16)'ZB T0E5(7(CM:&U&>![!*;/,I2ET9F4=O*W> M\#8X^;IW^."PM1.PN]1Q+KOI@C0/]>:(Z8%!G(S 8'"SU:MR)U 16>)F7):)/5;#IBAVTQ,I;M8@CW.$8M0,$I/\F&^ZUFI MY5A2@FTQV:PV:W)Q$XQ1:%?-8@)[]2TK_<&E\YO01%.4A'^1"Q!V&#CR1*/CJ &0 M$UO$R%70T/N0T;K2!FC M^D2%'UDH0;4,8PR"FVK"XQ;%K*-JIZ%:NK A0N\&@*IKA"@Y7N[;XR:Y-?]= ME49QQ']W]8QNC*DH!F:PD&A?"/M+QI,"H)QSET.OV?494 )52W(46%O"WY=Z;@>W=GFN0!CHQ>/X>B*D43S$Y1!)E8&BMMTG&\J[/XO M3K/F]K]RF?MP=E!0W^M"CG/N)^G=Q$4+=EK/[^G&[?FS*XZV\QM5& M]B. (B+$\C.*T@75D']M. 8REJ;)["'-N5!4()/5[)#\M#\ %PU4JS?VQI2N M-%=2/F3=-[RR06&"*A&&1^T_E61IPK@T17=IM8\?4!/.4/L07Z&U!(,Y=V + MFF+DKNE*&!'!'6)/C7K;68;FW*@/]^Y3AQQ)-"XL6C M!LX5BH XA6@&5))G=LS CJX/[OG^+\18[?]=CGDPUZ( M.K?8A3-#?,3WK@]0/7'?3%64GSE;!FN]W8+<_XM.FY>28#A'/\=$QI**DMK^ MX!OV?4*DA:56BR8*)#N5!)92&E%?1TE/M/"A2=R4*J>^6I,2688_Q?]Z\:AC MJ5*?8WB^U$C;"2]"4A57YEP[%"@.)-HJ77<G\ E2/I>LS0'P%=8^?,L=*+%#KR7'XJ9[,* B>0F]N+U? M-WK]><15S*)M_ JU?W\.-)S,0%K!![8DS1@J%?(1<3*$J M+&,YVGB3T2$_S>RS@ECV@[%Z[\/4'^\0Y7JODQQWQ'JP;P 6'UKXLY7-586)%[ 4"?>E7VG MMC72 M.*04[*3C-HITU)>.]*Q/<'?Z2AD8WAU04%US:\67[A-4ID66AS-M?C=!4G$V MD+F(O!T C<;'O(/$EM$-,\U1AV-2B$0JXPT".F0F(D](_9U#YX.2CE^VDFPOU/ DM,PA*,.LD<84RH";WPK::7Z SG7WD M()3A+X]'/4^PZT??)S^J_?9 ?0F< %:@X:OK#=9E#L$QVJ^+O&Z-&@QR/0#L M[I'I\'=*CI%4=OAS#"#[D\J/")^N9%;V#OFV\5*R_T8E1O!=&I1B6^_QJ'@5 MM!R =!@2K <$^>L]?CI^M M?Q$GW#GM[ZBE&5+-0<)E(2*" /TAO8S4?CB@;&;LS*E+[H.K%4RF76SNNDK* M]XW,$.^/;"LV9:J;KRF7-)V6=U[CJ[&JX7P$,[$$"TW8MC[."-YY"HI%/],, M4LHZ3Q5E]M?+'#.AW)GK&YH%\TN)VO1!NZV.$Y#9]17+T> K).3/&7]KQ6,K ME^2#I'*W?,YU(5\QK9?+MV ?D8VI9FW,%%N/QR^>[:D@WU?)C^1;_J9IXA.2 M-5_2@,D$6H#G4^]3_X,8E(_6P@ (P: M 8 >&PO=V]R:W-H965T&UL[5EKC]NX%?TKA'<0> #% MUM.2YP7,(VFS:))!DNVB*/J!(]%C-9*H):GQ3']]SZ5DV9Z1G118; .T7V2) MNKR\CW,/+ZVSE51?]5((PQ[+HM+GHZ4Q]R%I4>+.0JN0&C^I^ MJFLE>&8GE<74=]W9M.1Y-;HXLV.WZN),-J;(*W&KF&[*DJNG*U'(U?G(&ZT' M/N7W2T,#TXNSFM^+S\+\4M\J/$U[+5E>BDKGLF)*+,Y'E][)54CR5N"ON5CI MK7M&GMQ)^94>WF7G(Y<,$H5(#6G@^'D0UZ(H2!',^*W3.>J7I(G;]VOM;ZWO M\.6.:W$MBU_SS"S/1\F(96+!F\)\DJL_B\Z?B/2ELM#VRE:M["PR5MYPPR_.E%PQ1=+01C?653L;QN45 M)>6S47B;8YZY^""-8#Y[S2[3WYI5F:IV9LJ$]FN@BEL[ WUUX9>^0/63-W-/#Q@;]L:&A[1?O!?J7BCM#&5)UW(]@(>TD!H9T^SO7\2C85>%3+_^ M8\B=@PL.NS,&4 [!!"DOD&Q$]$XH]K%B/S?%$_-G;1- MV&7VP"O#WHLL3Y$4J'G/5;ID7J_GU4]), M/O?G$96]E0P!C><6\^3QPV)>E M8 M9@&SRZIX9?E>(CG'R?U'"\9KC;-R7&B3@R!CTEK\!U!#)X MX7OQJ684/M +I*%T:XDQ?#)+V6@HU<8XW M"]AM@\3 ,U:K/-V)ZV6:(C&(C$*"\P>;!4QS_/FX+Y4@(83>FYG4-K M=JS<1=3WH%YA[U'FR6%U :,<&UV!2-<4/Q8YL1NR:\N1I !\HT#RFKWB97V* ME8LV-LN\ACYG[D=8VH#_L2$T<*KNU..=Y\?L@ZQ>I[*L!1+-[Y6P26)^-&=_ M$>2C(GZGR#>ZS[N?S#OSNX'08W^2,EOE1<%BQT,(VP B>)7)%[D-1"=K,Q*Z M\298-7^R N,X]A%[C*L&^12/V((U\#&>S1*,OZM@IP"V']LQ#-V(+O?=8!C. M,=H:OHW',5E\S#X(\P*Z?5:W2AQ!U<:B6((A#:16N5E:Y%O \79K70D4/Z\1 MT$>+9%3]48R%UNAU*&RK98XJ/HJCS3A;<5^!%#*& @%\ATK>Z4J*)@ =)"=S%_M5T1@+=XSZ=C29MZ(%8E0Z%#JH""R';/K1F$[)BJO4 2$O)(_L4H:^WMS M^7E[7^MCMPFOE1J,?6"O(5VB"<) N:VZUM8696XH>0:TFE?=!M;S\^6:SQP[ M?@V:XQ7L*[2D.4)96&,6$-7+]L#HU9 _E$$"T"WZ$5G!D9[OQB1+NYKOGO:# MO3;[PCL]WC!(O;M[W(E*+'+0C )136A1W5"==K[ R%*OM]V7ZAW:7 <"^F7+ M72PVX#+Q_K7E_;;L>Y5Z8^J.;38,YKE>FF5)#"3.>)9992^VSLZ9FBM+Q]WC M?A.T:KM#\EW/_7^' MM+]#FD>.Z[K(:T5$1"6P:9/&1#"O<:P]1N/A)M+??\ES7F>%,]9\W7$'D;35QHN M=!;?Z+<"./'=_58P<^+ W=MP!8F[I^$*G=D\/M!R>0YH9$, D>?$H7^PR_( M>C<.!MJLR/ +#10KLXC[;[JG4S,8Z'^ZK6K'V=U3I_OT]K%8;)8&OE 7A_ M?&M5P>.NS\&;[2WNQ^JP<*7"%EAK:P_^F!I)0EZ_8R!-/S>5Z!N:R>X9,XD= MMJ"M7D+&WOQ/\NDVG9[LY5,GQNGD6W0:.E$8O#B61D3$/8NN,S?V[7%G#TNV MFGJ2O+4D>=G'_F0O2R8[+ EZ\O>P9! _9\EG)(DC%!BV)\GK9R3Y:9Z@RV.1(-ZR&"C/Q@0Y"AX\?)87[$K@#F>$F/GN/:/>DE/8;8 M"(;(<>;N8T>R:2\[MGG[?&CAHO#@ M*=.?H,F@GS#:.F5BU&U'@S_HE#GT?_-TZPM!27\FTW<0U !AMOU8T(_VGUHN MVR\,&_'V.\U[E W!HA +3'4G<31J>6C]8&1MOS?<20,2M+=+P<'3)(#W"RG- M^H$6Z#] 7?P;4$L#!!0 ( $.$<%:6,$<@N 0 !@+ 8 >&PO=V]R M:W-H965T&ULK5;;;MLX$'WW5Q#JHD@!-=;-EIV+@21ML04V M19"D6RP6^T!+8YM;B71)*JGWZ_>0LF4W<;Q]V!>;HF;.S)PY0_'L4>FO9D%D MV?>ZDN8\6%B[/.GW3;&@FIMCM22)-S.E:V[QJ.=]L]3$2^]45_TDBH;]F@L9 M3,[\WHV>G*G&5D+2C6:FJ6NN5Y=4J.IW**6H21JA)-,T.P\NXI/+S-E[@]\%/9J=-7.53)7ZZAX^EN=!Y!*BB@KK M$#C^'NB*JLH!(8UO:\R@"^D<=]<;] ^^=M0RY8:N5/5%E'9Q'HP"5M*,-Y6] M58^_TKJ>@<,K5&7\+WML;;-QP(K&6%6OG9%!+63[S[^O>=AQ&$4O."1KA\3G MW0;R6;[CED_.M'IDVED#S2U\J=X;R0GIFG)G-=X*^-G))V6)I>PMNZ4'D@WA MOU!S*1QE9WV+",ZN7ZS1+ENTY 6T.&'72MJ%8>]E2>6/ 'VDUN67;/*[3 XB MOJ/BF*5QR)(H20[@I5V]J<=+#]1KF%7L@Y!<%H)7[,YR2]"9-?L*;N&R_7!N M9$[,DA=T'F F#.D'"B:O7\7#Z/1 LEF7;'8(?;+IR4RKFEV!6 T10R!VP:Z\ M-$BS/^_INV67E2J^_K4O_X,1]N=_!$'LD0-[)PR?SS7-P5?96=POD*"J,-U" MSIGETXJ8QP*AS.+EE:J77*Y>OQHE<7YJ,,JM8_D#W'3EC6O^M]+,KI;HDIJQ MN5*E85R6S.4F"NP:596N@:K1ZP$A;=B1D/!7C8&M><..[HB8UW8\[OU!7*\5 MR: GJJ?@#9KJ.4TY8<7N)^I]PAEH>.4CG_1NM"J; C7\PM(L"?,LP2J)XC#) M1EC%>1(FXW'O7JG*%>YRO.;% @3K%1N&:92S.!S%&8/O*.^]EW.\(NULNUHR MP*8L#9/!".L$9O?*0I*RRP3!!VF8C]O@@$TB'WPJ>#-5\=[I<[[#?5%)4R;MUA [38!*P$GXH*J-B?N8X!=>5YIF<\^]GU MOW&OR_BW+_$ITQ)'P,()6X"\'"=P<25[:'12I/Y[]_Q_R3M-LF?4_4345]XUY_1\^<- M4;<[1+VDZ3QSTY_'SW6JGW4\9%+9=0_)'Y1;O:;A<)#Z4VG027$K^2GMI[),\JA->]]'L+]S6T&\N;^3N:ELI&TO+MUN=^V[ M:&\[6_/VSGC--?@RK*(97*/C?! PW=[#V@>KEO[N,U46Q?GE E=7TLX [V<* MWXCU@PO0788G_P)02P,$% @ 0X1P5AA,B^!2 P &P< !D !X;"]W M;W)K&ULA57;;N,V$'WW5PS4H$@ );HZ),';QB>^V5JW$2UF#=O@(]J_FP=-JVA@ MJ7B-TG E0>-Z'EPGTV7N[+W!9XX[LS<'%\E*J2>WN*_F0>P$H<#2.@9&GV>\ M02$<$X!)_ X@[0&IU]TY\BIOF66+ MF58[T,Z:V-S$A^K1)(Y+5Y1'J^F4$\XN/BJ+D,,Y/+9-(Y#2;9F &V:V<$<% M@WO9%9XR.(LL.72PJ.S)EQUY^@YYDL(')>W6P.^RPNI[@HB4#G+3-[G+]"CC M+987D"4AI'&:'N'+AO SSY<="=^ 57#')9,EI]@?+;,^#^90P!U=?IC._4%3 MT[ 2YP'](@;U,P:+7W])+N/?CHC-!['Y,?;%4)7P^VK=TG_4PV']IW0_?GX[1E^1Z;[00&7">H7:E6KD2N7JE;@A'IUR"7:K M6L-D97?>F)5UV(J8LN:GA M%6J?&TCR<'PY@:NPR!(X'SVXW)+1,Q,MNBBDDZKJ!JUW3GY>_0V$) [C/"-@ M7A0$[&XI@D!J1*!=QW'PEA;,&"3 .223@F"3'VP%9RLN?+!D<^J,SN@33^!L M]&?C=5)&WN?-TBLHPF*2DHH?[?>Y3YTA,7>V9^3KT,6/]AI6C7KCV[*AI+72 M=KUKV!TZ_W77\/XW[YZ-#TQO.)5+X)J@\44Q#KH WA96-;[]K92E9NJG6WJ] M4#L#.E\KZ@']PCD8WL/%?U!+ P04 " !#A'!67/*(;F$$ #:"0 &0 M 'AL+W=O=7C'RO;HE$8FQ# M0A) RD>C5DK:*$E;554?%GO J]B[[NX:PK_OS!I\025(?0%[O7/FS)F/W?%* MFW>;(SKX* ME)T'N7'45AC;-L13V3%>HZ,MC6+T%8&1>:-RB*,^_WS ML!12!=.Q7WLVT[&N72$5/ANP=5D*L[[%0J\F011L%U[D(G>\$$['E5C@*[K? MJF=#;V&+DLD2E95:@<'Y)+B)KFX'O-]O^%WBRNX\ T]^@DW\0P9+]6%];^P:O:>GP>0UM;IG:&ODNS<]!?M$(9P"B^8HER* M68$6A,K@IJ!\"94B4.;ASF F'3QJ:]&.0T>>V3Y,-UYN&R_Q)UZB&)ZTTS-(HA[$_3@^@I>T.B0>+SFB@P6GX4$JBEJ* M EZ=<$CUYPX&W, -#L-Q*UW92J0X":A7+)HE!M-O7Z+S_O41LH.6[. 8^O11 M"V5[X#GWX,V(#'W.?G4YFKU,WDN;%MK6!N&O-_QP<%OH]/WO0P$==7DXH"Y5 MSO^HF[V]J:;&M@[T'(@U;68[J1;0E8I6=&T)S9Y<=2C36,XH+LIVA[/-*8\Z M-VFJ:\H-388MZ+*QJ-'C**+!C$9#>"-B-_ILA)J#=("?E3:8L95M ]< M&4D33Q9K"LSH>I&#%:P!Q5X9G=6I:[1C666*]FP7V4=U<>WA:901/J/N!%(B MR97I0B_6/BCQ7V68789+&L$5V=>6=VKSVG$1(:5-ES+U:Q33.^E"2Q0K&9-.O"S(\9+G\2:U6QA+_53[H)NYAL;^ M $VR#E F$>YK9"T9P^;:N%.'I@0E/!."L76:[UKT_%:TCM1VN'4O2H;FMT/" MN%PX"F0-2CNO^O="='X#)6@I,RYN,/3IE!1>"9.UZ$?JR6-[Y3G%)/S]=HS!4&SQ68;=58*=5/F_)SI]DW@QE M^*S16NM38K"02K$X7+I4*#KCMJ!^^0J#T:#SS&+Y\YH]M=SW98DO$X@N+CLW M9:/#RDCG4!$DI6A!]PCK]J5MVH\\DF)ZR>5)O3KH[B_4^ZX, >)$=7$%XQ M=$!6.[;S@2PQT+0KUD.'HNW6P["#8C.Q4%OR)+II__TH.W%3(,W%IBCRZ5'4 MXVRCS9/-$0E>RD+9N9<355/?MVF.I;!GND+%.RMM2D&\-&O?5@9%UB25A1\& MP<@OA51>,FM\MR:9Z9H*J?#6@*W+4IC7!19Z,_<&WLYQ)]?S"JQQGND M7]6MX97?H62R1&6E5F!P-??.!]-%[.*;@-\2-W;/!E?)4NLGM[C.YE[@"&&! M*3D$P;]GO,"B<$!,X]\6T^N.=(G[]@[]JJF=:UD*BQ>Z>)09Y7-OXD&&*U$7 M=*Y#6EG2Y368&I53M7[QL[V$O81)\D!!N$\*& M=WM0P_)2D$AF1F_ N&A&\JP^P]@,^4.E[ACMD91(,^ MA$$8'L&+NCJC!B\Z4J<%TG EE5"I% 7J-9Q*Q1Y=6Z$R^V7:XTYAN43CNM5S MW7(M&_3NQ(;?*:'AJ[9P G'8C\=#-L*P/YC$O4<6*S!4972*UD+,WHB_83#L M<8\D/^D,UEIG%D;]R7@"XWX0CWL/FKAU;Q=T L.H/XQ&;$11/V;CT/W[>P(I MT:R;,>!JK!6U6NF\W:0Y;P7V%MZ.J1MAUE)9*'#%J<'9>.B!::7?+DA7C=R6 MFEB\C9GSM$3C GA_I?DI;A?N@&[^)O\!4$L#!!0 ( $.$<%8.Z33SJP0 M *4* 9 >&PO=V]R:W-H965T2Q+]KA M,1_G^&8TIRNEOYD%HH7[5DAS%BRL7;X>C4RSP):9H5JBI).9TBVSM-3SD5EJ M9%.OU(I1$D7%J&5MQZ>JLX)+O-9@NK9E>GV!0JW.@CC8;GSA\X5U M&Z/QZ9+-\0;M'\MK3:O1#F7*6Y2&*PD:9V?!>?SZ(G/W_84_.:[,G@S.DXE2 MW]SBP_0LB)Q!*+"Q#H'1YPXO40@'1&9\WV &NR>=XKZ\17_G?2=?)LS@I1)? M^=0NSH(J@"G.6"?L%[7Z#3?^Y ZO4<+X7UCU=[,B@*8S5K4;9;*@Y;+_LOM- M'/84JN@)A62CD'B[^X>\E5?,LO&I5BO0[C:A.<&[ZK7)."Y=4FZLIE-.>G;\ M25F$$D[@O5+3%1<"F)S"9[M #1^D97+.)P+AW!BTYG1DZ4FG.&HV\!<]?/($ M?)S 1R7MPL!;.<7ICP CLG5G<+(U^")Y%O$*FR&D<0A)E"3/X*6[ *0>+WTF M :L@G=<,MEP)N#&,HM$O,<=[N&RQ^%<#;TV2];@64!%8E#?83!^^2(NHC?/ M&)OMC,V>0Q\?9 2NN&F$,IU&^.L6[RU<"-5\^_LQPY^%?MSP8Z+&KQ #;A<( MS8(V*99<@G5+IO6:RSFP5G72@IK!? M%S<3?62/3!M!1 RBQV$X(?9M<]Q,/ M'J3/U(@AU5:#D<\,H3N3]1R6;E_Z1D<[OW-C';VH2U/;[B@%UYKBK>T:1G"KV10E:Q%> MLG;Y!BZTH^0G)4^\@4A)O564ML%7WXMQ>L+N4--?"W0&9YT P6>4]VA#NS@> MUANQ'J:]-'BO%5%F0]DC*/(P+C,22N*(^^9A5I=N789EFA/AFJ[M*%<4!5+2 MEO^[R5L9%D5.F3LND])]ZLKE\8B$,"7$5X-/1)J';.9EF$>U>S%,4_= %N:Q M8W91A6EQ&+/X?Q"S_(F8)6'J>9F%==W'+,F<*V42YE1H3\DX+GWH M4A_!(W?@PW<8LZHJ_$-57/??*G(64# KJH=]<+RGLC5(==J_3!W_D+8KXBW[ ML8JR8;:MH9!JBHBR6[E([N_\6EOKT^=_H_#PV#6\U/N2195;9%[TC3!_$ L2 MT[IV8NG%&ULA55M;]LV$/ZN7W'0BB(!M.A==E+; M0)PTZ("F,)J]?!CV@9'.%A&*5$DJ=O;K=Y0^]?QU3)S^KW"[QRWYD@&Q^11J2G/E2X9IVP7]7V M$^[YY ZO5,+T(VP'W3SSH>R,5F")HN!S^;+?/PY'!-/J!0;(W2/JX!T=] ME+?,LL5,JRUHITUH3NBI]M84')>N* ]6TRXG.[OXHBS"%'Z&E:9":_L2P$HP M:8')"CY^ZWA+%;"ST)(O9Q&6>]SE@)O\ #=.X%Y)6QOX*"NL_@T04I"'2)/7 M2)?)*.(MEA>0Q@$D49*,X*4'YFF/EXXP-V 5W'')9,F9@ ?++#J^YA3A 2X[ M#>*[.K=>Q]=G#NXTVKU?-0(7@'63"-8_JG07P9 M>\N.BXI0S7]5TRS(L@+2(DC2S/N,=(MK)=XHY4$>I0XSO_3N65E3:O0+O&=- M^^&(2YX01@J3)+@L4N^NTY);RGL :[YS@@F(;M-V%K79&QNUMEM&M2F"+(II MC/+$NZ&<6-T-K8G20(%LR-K )$@F"5'*TZGW)J]OTOH.XC@*BJ)P4E($TW3B M79=EUW2"CG%%O8EJ2.=ZZ'XNA8W2EO\]+)P1D_PR@W,XFT1!4DSAW/M"CT#[ M/S[S:1!1@"0405Y&UL ME59M3^-&$/XK(Q]W BDDCI-P'"^1"!05Z6@1T%:GJA\V]B1>L=[U[:X)Z:_O MS-HQ"81(E8[+OLTS,\^\>,X6QCZY'-'#2Z&T.X]R[\N37L^E.1;"=4V)FFYF MQA;"T];.>ZZT*+(@5*A>$L='O4)('8W/PMF='9^9RBNI\3(;\/#_Z4 MN'!K:V!/IL8\\>8F.X]B-@@5IIX1!/T\XR4JQ4!DQL\&,VI5LN#Z>H5^'7PG M7Z;"X:51?\G,Y^?1<009SD2E_+U9_(J-/R/&2XURX7]8U&\'<01IY;PI&F&R MH)"Z_A4O#0]K L MTJTD.3_^S7B$;W (5SCU9SU/D'S12QOQ22V>?"#>3^#6:)\[^$5GF&T"],B6 MUJ!D9= DV8EXA6D7!OT.)'&2[, ;M X. MY@AX,.O(%KJ85.I5#PX(5'2BSO MMCE41$XM,\8C;]\ZA_%ISN,';;&#G>ACSD(<"5=JHRK M+,+?C_CB8:),^O3/-EMWH^U38 /B[YI^4RRF:"%) K5$\#5.;46%"('L_G$7 M'G.$U&(F/KC*K6YX]OB_W1)*.:!N"%*3!_2. MF@"[0N1G,%T&0RABAI7/X2$WUA\^LJL3H9_@AT25P0TI>@%+&F#_RZ?C)(E/ M)P^3'V'9/SV 4E6.** V.9=$3RX\/=9S"L;,F@+ZW63TF5E+NO%G,+8#](#U M9I0Z%D.[(]K7*.F$S90L8!W]KZ<.2DO-M;9!H=NE+@[J_D5KX,*_$KLBLK/M MZ+O1\\,0X8PSL$D&MS)K9A1]#CBH^T&CJ1S1[@Y.WF-1+#Y( -B#_K=.',?P MV*;2X*@^,)X*76T:,1J%N\O*6HYD29%AIO:'X?C@C:Y3^CI4MJX6 M[%$[7ZWI8M@L#U^/1N^/CB"IUPVEPT&#U3#:8::FM5DI4CYU85<\A9=VA1A1++7G'DFC2E=R$T#08@:89U MDA*7;2TR,@5!0XK6TTS"\6#Y9V&EF"H,JNNXK"GK;MB:&8+0QH>_]0OA'/*_ M375@I7OBRJE M3=WG?1)UM^05M_8/CCMPX3;:9"ZH"PB9A4.+/,*Q?5.A*)BX*M6U-LU6+4B( M># 4;0[#0OJZ][J%*(-+'"QRG=I0W74H9I+I?/.]20;=;1_,WMHH4U ##0.; M(VHK[>NIICUM9\*+>A1Z?5X/E+>AG3GJ;C,2C;M?1Q&%*@QI]<:;,@Q&4^-I MS K+G.9:M/R [F>&9H=FPPK:27G\'U!+ P04 " !#A'!6T$U+B/\" !> M!@ &0 'AL+W=O;$MBCP\1Q3I M\4;I1[-&M/!<"FDFP=K:ZB(,3;[&DIES5:&DG:72);.TU*O05!I9X8-*$291 MU ]+QF4P'7O;G9Z.56T%EWBGP=1ER?3+#(7:3((XV!GN^6IMG2&T MWZH[3:NP12EXB=)P)4'CSS/E[A^\<-V;O&YR2A5*/;O&QF 21(X0" M<^L0&+V><(Y".""B\7N+&;0I7>#^]P[]QFLG+0MF<*[$#U[8]208!E#@DM7" MWJO-!]SJZ3F\7 GCG[!I?/N] /+:6%5N@XE!R67S9L_;<]@+&$:O!"3;@,3S M;A)YEE?,LNE8JPUHYTUH[L-+]=%$CDM7E >K:9=3G)U^5A8ACN ,+O-8;[%F#5;R"E:&FK-O5XZ1&U!JR"&RZ9S#D3\&"91;IE]J#@!BX[#.<:YL)4 M+,=)0!UA4#]A,'W[)NY'[X^0S5JRV3'T*15$U<0+[M@+6P@$)HNV2I\X6W#! M+2<]5]SD0IE:(_S\BL\69D+EC[\.Z3F:\;">4W<]_K\/.7)4.B?E>/8%!=Y2- MZ-WO9J-A9UYK326"2FF_3TDHGR5X9_6I"]1-;*\;11%DW5Z6'HKSPLCTQ$2- MSB"5/,M=_'6 N#L<#B'N]3L[L4T_$G6-"^9N4DKL4G),LKCSA61K MRCL8)?1,TU'G!)*T&Y/ $XC[W<%@ '/4E@8EL+*I+ U5?UHOR#2@:QK8/QY_ M,A##H;*0,!-^[?6=GA>-C/CKWLS>6^97G%I0."20J/S &UY>AN.J%+) L9>X80>#S)&]E63(0Q/BCP^SM6/+& MP_$6_9W7';K,A)6WNORO*MSRJI?UJ)!ST93NDU[_(#M]1HR7Z]+Z-ZU;VF34 MH[RQ3E?=9DA0J;K]BDUGAX,-6?C"AKC;$'NY6T9>RCOAQ/6ET6LR3 TT'GA5 M_6X(IVIVRF=GL*JPSUW_K)VD**)S>JAS74EZ%)O+H0,RKP_S#N6F18E?0(EB M^J!KM[1T7Q>R. 880J2=7/%6KIOX5<0[F0\HB0**PSA^!2_9Z9EXO.05/2TY M3>]4+>IL-$^R=_W=-]$X_/X5 M8=.=L.EKZ-=[5]"=LGFI;6,D_?8H-XYN2IU__?V4Q*]BGI:XSZX_X/:XE'2K MJY6HG[_[)HNCR?>6"BQ:IW(2=4&H HCSFFJ4"]7NFTF>I)713\JG*GZW:TYL M8'6><$!^EL)8DAPA!/_*:B;-SL?^W8Y#^I^GO#]-Z0E;NKNM;-]2D@;C48H! M0.)PA$$T#N(LH7>=R%$6A.,4@7Y.C]K!_Z,XF$39EKZC/F6!O3)_T?+?4>JV M,0912>]D(0WDA"80,YP^VG09I%+=YDRINC9-P1G;0N= Z#:3SU.B?1U.L\C5+O M'[$"X495+ MOD_,Y:KPE/2G^CT:YYW-N607EA^3C:4CC<48_2:SMU'JF)(BG MR(<@C2<0P(EZH6:EW)H@"J(DIFPRV:MA)*1L)"]%(TK&(_H/# BMQS%%$WIO MM+4GS3D-TDF,$(RSF'X59=/*)=B8*,X2 =3'_C/Z&67FU?U@>634 Q]=T/T& MSO=NY5,!Z2>(QD0PB?+3<[7!O@ZSCUR .&?[8'VO=;%69D^UF;()5NT-;@GUR;PJMX.JJ]%5X(UEJ[4P6-IP^*)"T!XO/6 M\Z&G$]X$CS^ET3Z)OH5?MYE"X@2'KF)Z-7+7P("OU5W?RFH'UFV^(R6-KMJ$ M1RE#RA?M3&-5O8!\OPP^T[RKL/5X;BS'10HN>$L.DS] MBW]1/QB ?Z$X_,+! MQ$=L^YD,.'X_2=>8F@VW=Y,HON#PZD]7'F:"][9+>)6W]=DIWV\\'G-\__#3 MXP,I!%?NL"_SDUTF'VB R*U)^A)'8BU,83TA!&.).OJCJL=8+ =_VS+5*1,. MQGABNEVBXK&[3P;Q.9/'7LA[WV^XG;! K0,9"IX;P5YO4/L&4WQ.G26V!RC; MS*PJ%'!Q&DS91M\_?XG)PE,-S5OEQ>&/W407UX<).JI%GX^R('$NII>ZG:S>ZN MI&_;F]B>O+W/?A!FH6##4LZQ%?&!&Z!I[XCMC],K?R^;:8=;GA\N<:V6A@FP M/M>XLW0_S&!W4;_^/U!+ P04 " !#A'!69[IOPJ<# #O" &0 'AL M+W=O[#AV9ANH MFQ;KAQ9!TZT8AGU@I+-%1")5DHK=?[\[4E*J*F3/$UG22.D MBM9+/W=KUDO=N5HJO#5@NZ81YML&:[U?15DT3'R2N\KQ1+)>MF*'=^A^:6\- M?24C2BD;5%9J!0:WJ^AU=KV9\GZ_X5>)>WOT#JSD7NL'_GA?KJ*4"6&-A6,$ M08]'?(-US4!$XVN/&8TNV?#X?4!_Y[63EGMA\8VNO\C25:MH'D&)6]'5[I/> M_XR]GDO&*W1M_0C[L'>21U!TUNFF-R8&C53A*0Y]'(X,YND+!GEOD'O>P9%G M>2.<6"^-WH/AW83&+UZJMR9R4G%2[IRA54EV;OU1.X0LAQ_A(U7 >U7H!N$6 M#=Q5PN R<>2#=R9%C[<)>/D+> 3U02M767BK2BR? R1$;F28#PPW^5G$&RPN M8)+%D*=Y?@9O,BJ>>+S)&<46G(9W4@E52%'#G1,.J=*E]55?0M?2(7(5PMY7.LV(1S1T<($L&EKS M^RW0R;=.J))H0]D9?J H*OB&PES C:P[MOTO?O3V+Z[("Y0,2 =[7'(4&,"O MG7P4-:7TG]'Z?,J?ZII[XD=N>XR.^5'ED*N65,"]=A6SIKB-5$YI*S1=8I:7 M"(NE;75-MR%S>"59K.XL =@?KN$WHM.?':#*1\]@J'X>,A[2/EO_/A7LG27# M57PYF_*8\SB=3^'+"V!_CV79(8DL+!:PR(!< M#-G_7[QGLPF/V:77,/>Y"QD1_J*G& ^9P.'X/.4"#T7=E7P#D!ENM]0=AJRT M=#,HQQ<"'M 4TOJ2"T+$7IC2QIQ;,F=&S]3'L*\PE.T@B7K< YVSEN*!@X=G M-4H53T5 Q%PE@NGH]IF1P5KXVND#?101DB5UZQK#(IY?S6+(TO@JX^%7X(,P.TE*:]R2:7IQ=1F!">TU?#C=^I9&!Y :I'^MZ(\$#6^@ M]:VF5/8?[&#\QUG_"5!+ P04 " !#A'!6UTLN/WP( !;%0 &0 'AL M+W=O:!$B: M=K>+>01)VL%BL1\8B;:YD427I.)X?_V<2TJVW-B>W0^6+(KW?>^YE[I8*?UL M%D)8]EH6E;GL+:Q=GO?[)EN(DIM0+46%-S.E2V[QJ.=]L]2"YXZH+/I)%(WZ M)9=5[^K"K=WIJPM5VT)6XDXS4Y+R]ZD MQW(QXW5A[]7J[Z*Q9TC\,E48=V4KOWZB;R&'=O>SAN>-YYDW:#_>RH<,[-DF?BLH?*,$*_B-[5NY_B4?3AB+*#C;*#8]RO?&!N M7&#N^)IT9-=:\VKN]&7_>A2OEMT4*GO^]S[=CW+?K_LII417;C MK9DTIH8K32=Y^(KK'-Y=:%7/%\R(%Z'AX&7!*UKEEF$O*L=D6CYAOZSP8+DL MV!-A1,B^5!GL0K&R.]#@D?VCK@1B'Z6!N[+'E6)VO81@-6/B>RWMNA5;\K7[ M/3;BD3JB?!)ZDSX-BTJ!Y9Z7A_;?2@T@4=KK]&DV$PY/H%JQ9O$P8/%T.O%7 MKZ[7=>HOOW*=+=B8EF*\LD<'>\7+Y@?$J#0PT[\_9/P77 M#3KMNOB@*EH4\&(.S#AW<:!+3)>(2J'$#D!U]NQM,NR$#:)HY_K@7JNEX];L M2D8I2^*()6G"[N$I+3.2X;=^K:1MDSH)AH,ABX-)/,$U'@_9H[)P@#FD[@G2 M+XDFN"?!(*$[B*.Q*UWK2.%85>*!OZ+L*C&#L$[8I<^33%5&%3)WIIL-0E(< M&WJ,!7NU>/?3!/(_^,Z[!2O#5I11RZ56KQ(]52!/3N(P16M#;%45L),HG&R? M*"&Q,FY7G#S2;.TB*-Y&L"W9Q/^/@KWQ>73&=1S69CCQS]X00$A>:TIDD@UD M$WNQ8U^,CTHR'0+S%Z(:C^Y*/)C(/^3H)PAUN?6BD,>RH/)+!_#KSRQ-_2V! MWW_>;LSEB\SA7\-^(Z3<7NZE>3Z;D5H2VJ)E('$(8))P"OK(<8D04>(E="9A MZE(30IRP\3ATN3@$]WK"?W"PY0]KP -6A"4 #M,=^")4=1 MO-!LV2+7*R&90(-J5U:-;JS5#>L+H)&"S2BS''UMW3@@6U 9F):R::$4UWC\ MP>RFW09I1>N=)JU(1U\7#H4@G!<"(MX<)$MLMI@W1#F F M'MNT8]=-:#<)?>?B^>;]O:!C$.GV$?.OA@XU[/E%S@2[GL^UF%-HON"-Q*$F M8]]6R"K]^F/FL4,,\5H'%-JI^$P97]K(&(:3,:CIIY:K=!\XU$P&"?L M/3I*B/LQU@F;)D&$3@+6TQ!#RY!J$36*]C)H>?*G0E!>O"6>) %&'2(>AL,( MQ%#NA(V"\3AEWQ!?X8>);>B5FP7V,SNFR>T6#/\/S/\?1JFXV7JT\9ZR^X>O M!@[MSKP-LKLWL$OB?]Y,AR:@O,UJ-XFHV0QIHHWW1+DLU%H($W;PJ.Z(HJ'8 MU$__H5(D;W$476U<.3:]M1VFW/"E?3_U4 I&* KME3:IZZO0B,.,$=%N_,\ MX1BF<-2EY#_ 4K@[\V\FP&J7<3,MZKQ;S$='3(\R#KM;E G8:B$!Q00-WZED MH.)>A"R4(0=XYSE0#=J9%>"JYR(/B+95%E"(#%YW&^KNN!JBI>$D8'] %NOR MWD,+QB&:0IV[=H::)U7;-V''H6=O_NT!GVO'_Y;\]IE\^Q8]]M16 MS.(( ^.(NNX@#L<3SP9LAW$PG<1L/ A'HQ;^7GSAG@ZFP1#U^)Y(HB'[K/1, M2%O3EM,X2 8#O!JEU,/_0GP"\4F0IM2+AZ,P2MBUW1O97.(T**R;^5!7;*&* MW%4.\G:.6JHZ384B7 E[YL9.!-3:@H9:M*>=TPD=@^A@4-:EZU7$T@?WM=,_ M-XC-2U7[.0!#+QA9-P4WB4C\D,MTVJYJ9R!2M^W7SG?ACT!U&*<. =%N#G:R MSY533?X_//"W*=]Q+JPNBJ8ZZ3#4.7D90!3*7HKMT&D/'T+;?G@@4_U1!%NI M \1I[ X=\63D[FD\IE<#=H832#(9-UI MRGW*\P]6+=WGLR=EK2K=WX7@R$[:@/&UL MA5=M;]LV$/XK!R_=4D"Q]>J7+#&0I"M6H%V#IB\8AGV@I;/%11)=DHJ3_OK= M4;(MOR3]8(ND>'?/.^^RRY[/@+# U+('08\'O,&B8$<$XWOKL[<)R8;=]MK[ M6\>=N,R$P1M5?).9S2][XQYD.!=U83^IU9_8\DG87ZH*X_YAUVSQT#,;/&82M0>AP-X$)=RXBX^[XVUR;I8BQ[0.#^@%[TU]_"8;^[R^ C3=@XY>\3]^C M,8@>?%RB%E96"Q!5UB+'=I'@G\_X:.&Z4.G]O\<(O!CB.(%35D'K_G..<*/* MI:B>(!<&U Z6>8NE:"9380 UG\L4C4?*K.HY[;1:\^QE(2C#'CQ@+M."YK)Y MBMI2L6AMW-"N%7ZOY9+7IK_&LY(VIXD@*VEY]2SJDNR!I%O]$X;U"606TX+-0D5UT\.5IL"5D3GZTJW,;J=QD<#RDT4MA4+2KY S,0 M%E)5DL_4"1DR4K0K4!EP<')<$:[S[7140L4Y& M9)46=8:L"R;JMA;I$0DU:8&GD$((S-;A*D=:/0N2$R>,JL2L>-HHP>;$A=ZN M9%&0(]2IY% \VD3830ZE011&@UT=&7V MEJG5;J;VQ7,\]2FQE,9R_MC/7!5TF/$BGCKXJC9D9UZ? Y4N+&>4S'7YXK^@ MLYD;WYV )Z1B;Q*'U)AX?A)MMOK!S# ((!P%\%E9V@.[+B(O(%-V$87Q0;@N ME3,Z531GA6:'7IR,W3,8!WN!C]LD$R"+!L'/?"?!R#W#:/(31(6J%F=.6D3% M]X:3A!I#;^+O9^,YLR 94GJ2%X#MA1@G 35&7A",X6\4NCF[=I?O] 1V5K>S MGJXND9R,/=]#F+JQJU)I*W\T=8!$TY0>:KC2LUZUH<_Y&<&[BH ARZLZ@CV! MZ"!]'(4R.R0H@1<.(_A*587V5!<%1'X,_.XN)S -]\[;9 1QM),P-WP"D>?' MO'"!ETPF<"-,3G5"MKNL5#77B[8"9)R@DHQKW=0@8GA X+R#/F5O<]H[IBE_ M:I>7:349NO#A.%Z?V$=,]TXAXAE.NIM"S;BV-!#Q,P4Z]9)<%D M#-_@G[@0^OUH^MIZCO-^/$\Y6KS&*QT+C@,CNOZ> \.&:8:IL; M/L'G1TK3X<@:QC;PJ7"ZY]HRC)KEF;A-$+N4>W'HB'QI1YMQC'U_,#- M',&05G/D3Q@WE?\Y)9!R'7G#(-@1X 9[2/&"V(M'8^#/H?/M#CD=PVLX#:C* M)=2XW3_<#G?/B:L+FPK)=-XV^=K3WC9Z3FO4' OL&Q_I_L.[UDF?]$2'G5@N MM7J4="= .L9.:%7HT[PH2$0>G 3]>-OCXX1&HO4(JY$S[?+=9-WWX-AGXZ#S M35^B7KB;"Y]$A*+YO-^,;BY'5\V=8#N]N5E]$'HA*S[TYF3J]T=)KZE(ZXY5 M2W=#F"E+]PW7S.F"AYHGT/NYHB_HML,!-E?&Z?]02P,$% @ 0X1P5II% M-B[+ @ _P4 !D !X;"]W;W)K&UL?51K;],P M%/TK5P&A(;7+HX]UI8VT;DP@;5!M SX@/KC);6/-L8/MK-N_Y]K)L@)=OR1^ MW'-\CJ_OG6V5OC<%HH7'4D@S#PIKJVD8FJS DIEC5:&DG;72);,TU9O05!I9 M[D&E"),H&H(OV6[74- L[EIR7* U7$C2NY\%9/%T,7;P/^,YQ:W;&X)RLE+IWD\_Y M/(B<(!286 YRB$(R(9OUO.H#O2 7?'S^R7WCMY63&#YTK\X+DMYL$D M@!S7K!;V1FT_8>MGY/@R)8S_PK:)'28!9+6QJFS!I*#DLOFSQ_8>=@"3Z!5 MT@(2K[LYR*N\8):E,ZVVH%TTL;F!M^K1)(Y+EY1;JVF7$\ZF7Y1%B$?0AZ^V M0 U72F[Z%G4)5YRMN."6HYF%EHYR@#!K:1<-;?(*;9S M9*V,/!1YIC_31"2 MQDYH\BQTD1QDO,#L& 9Q#Y(H20[P#3KC \\W.&#<@%5PR263&6<";BVS2 _. M[C7(@];7/SDA&XX"83 MRM0:X><=/EI8")7=_]HG_##UDZ=R%V]C)%U6DLJ#50%*R5 MH"+G<@-'7-**J@V3N7D_!EBOB>4.6KFB_8( MF99]:B;OX2V<]D;C"?U'O7@R@:6[9@(\,%&C4R"5[&>JK-!RCZW8DT\F3'KQ M:$3H 9W8N!F>GL#X9$Q<\:27))$;.-81G*.VU,J E:IV6&I[WMH3"0%T;_D_ M+S'$^U(<[A1EB7KC6X^[,N)MZK-;[;K;65/4+^%-:[QF>L.E 8%K@D;')Z, M=--NFHE5E2_QE;+4,/RPH Z-V@70_EK1:V\G[H"NYZ=_ %!+ P04 " !# MA'!62B!/'$D" \!0 &0 'AL+W=OBV>5AV(-B,[9073R);MJ_GR2[ M;@:D?K%)B3P\AQ*UV!E[[VI$@D==6 MB6LL\C(F*9ED:7J:*"XTRQ=Q[=;F"].2%!IO+;A6*6Z?5BC-;LFF['GA3E0U MA84D7S2\PC72C^;6>B\94$JA4#MA-%C<+MG%]'PU#_$QX*? G=NS(2C9&',? MG"_EDJ6!$$HL*"!P_WO 2Y0R 'D:?WM,-I0,B?OV,_IUU.ZU;+C#2R-_B9+J M)3MC4.*6MY+NS.XS]GI. EYAI(M?V'6Q)W,&1>O(J#[9,U!"=W_^V/=A+^$L M?24AZQ.RR+LK%%E><>+YPIH=V!#MT8(1I<9L3T[H<"AKLGY7^#S*OQE"F)[" M>[@T2@GR_28'7)?>UR1TA;H0Z!8)^6(A)2EZX%4'G+T"/,W@QB/4#C[I$LO_ M 1+/, M+3@DN(.;'X8+TW/N&E[@DOGQ<&@?D.5OWTQ/TX\C9.<#V?D8>CYZ.G E7"&- M:RW"[^_X2+"2IKC_;XY<8"J83 M)5H>9W%K6DMU.$A_G(>ZD^S=:(6VBG/KH#"MINYR#ZO#TW#13<1+>/>NW'!; M">U XM:GII,/)PQL-ZN=0Z:)\[$QY*&UL?5;?;]LV$/Y7#NI0=(!CR4K2!(EM($Y3= \M@J;;'H8]T-)) M(D*1*DG9\7^_.U+6G,WQ@RU2Y'WWW6_-M\8^NP;1PTNKM%LDC??=39JZHL%6 MN*GI4--)96PK/&UMG;K.HBB#4*O2/,L^IJV0.EG.P[M'NYR;WBNI\=&"Z]M6 MV-T*E=DNDEFR?_%=UHWG%^ERWHD:G]#_WCU:VJ4C2BE;U$X:#1:K17(WNUE= M\/UPX0^)6W>P!K9D; M>=,.PL2@E3H^Q(39%9S!0]LILT.$%6JLI(=');2;IYZT\-VT&!!7$3%_ M W&6PU>C?>/@09=8O@9(B=[(,=]S7.4G$3]A,87SV03R+,]/X)V/-I\'O/,3 M-COP!CY++70AA8(G+SQ2KOFC!D>XB^-P7#8WKA,%+A*J"X=V@\GR_;O9Q^SV M!-F+D>S%*?3EO6FI )V(.:S+-^($?_W %P\K98KGOX_9<%++<1L^<&*\H>Y' M@\#4A-X!U[ZGGX.+;!9^%*AL E^%+1J878:XA>C%&-+1H7@C' CHA/44";4# M*MGJC-!ZBR4T*)1O(&PI5@B=-;45+?A&>"C,!BU)*P6H9"W7"B-0(3ORF*X! M!_IN&G12YM*UWA$/JK@.E'$.3 6_Y/DE:3*]8\]W M:&'/B];.Z FI-J1E*XFCH/C4M<6:4ND ID2/EBHW*O!$0O?MFJ (?^1*B3?] MOU,T/+Q@T7/?FL WH\]^]D+)2A+4^W?7>9[=/KP4Z%S8S&Y#:.##<,2:^,5P M^.L$MHVD>$CV-O4MM&Q'$=*+[V37MTX,BY!L':.)C9!*L%^I7@JT'&? /:N! M=-#;L97>O;*)A8(JZM\%RL[OC>8G$926>ASQT'X@,N0YB0E0Y$<+)7M3N/]( M1?=3X5KTTH;*!6.A&@N:R6M*@"D\1CZ#99%6(S;([NVU(TNB'[2W-"+(P4R% M+ F8E35MB-D^+L2L$Y0GK>D9J.R10$KBN7=W],@K:S@[&E1E1(O..G#2A$!K M)'D;\Z@.I436W0T0%%T(<>(XC32..MR0JCH1]X&?65#NC MXU_%C].>8 HEG(N)QQ0I!9C&OH@DD73#E!V.1%%$AW$-KH4*I1NF%*7,G0=J MZ1B*8-_6A^[PUOMCC30]F'HMVCK,=N+*D8D#<'P[?C[729@XSR/&ZKF,$/7QM-$#DOJ3!1WOD#GE:&9,FQ8P?A1M?P'4$L# M!!0 ( $.$<%8T(O2]1@8 #L/ 9 >&PO=V]R:W-H965T&;FS(QXOC'VWI5">/98*>TN>J7W]=EPZ+)2 M5-P-3"TTO"F,K;B'1[L:NMH*GI-1I8:3T>AX6'&I>_-S6KNU\W,3O)):W%KF M0E5QN[T4RFPN>N->L_!5KDJ/"\/Y>9I2COVP3 M]\Z.>RP+SILJ&0.#2NKX/W],<>@8G([V&$R2P81XQX.(Y37W?'YNS899W UH M^(-<)6L@)S4FY"O!SL__,%ZP\2D[8C=<6O:=JR"8*=B-U%QGDBOV23MO M ^3!N_.AAR/1<)@E^,L(/]D#/YZP+T;[TK'?=2[RIP!#X-H2GC2$+R<'$:]% M-F#3<9]-1I/) ;QI&X IX4T/!, Q;SH>WWGNQ5Z'(]SL93BLH3-7\TQ<]*!( MG+!KT9N_>34^'GTX0';6DIT=0I]W/3L4IGL_I^7*!\& M?8OY_Q_9[ZS*SJH5F;&06\8]*Q!E32A2,U\*EAGMC)(Y1#2'\E$ (!C)U?69 ML2R/;NPS+XSQ&C/49]P"&L"LC)4_"0RM0FWB3B760B'W'R%?(3/&G3/ %@_> M2%_2+JGK )P#FD+.*\$Q@O@*3MX=/V ?I;#<9J7,P%W"=ECL$#HX>9\]!(-D:RLSL)!-RX)R MM_<0+PB&93('>"(%[N$BK"G)EU))+\$*HHA^5CLN#&,_8(M?X @-MQ).%V;+ M). TVX#&!J( X;-<.TZ]U!TR-ED6;(RX"T4A,XDD"BL>@M#9EB*S-@K4@QFH MK5F#3^2TU"LX+@X:[-C8M/'ORN ;")ET@Q3(R;- "CA0H)Y CUYMD9/4NZO#J= MC$\^H$X@F[(FE2I9B,;!Z3,'*ZYA2CXQ7@KG&?R3%9X,AVQ*H)58UMQ&:)3C MQ@25H^PQGTVL][B_5T)7D'G(5?()1+(".6G,(NZWTMT#.B0!+5+]8C7%[5YD MI9:@ 8K07H-4H FS,KE0 _:-.H&"#PBBG=((W15=HS:Q:QR(7J;BW:;*[5-& MBK9]I=+Q&"UL*\G57WL0Z@_;6["V%2![2T1-<'"0>W?6ZA'FDJB6H,!F-CU; M&;//NT(]@]=6KCE59/%B8WT-0_DU&Y\ 4Z"%J&'NK!V(8O>Q):M[2 M5)\ NT666531_JV"6WT$7VOO\*Q9__WQ*?SXK7\R';/;&.(F&@731A]EIJJ% MEV1<\VVD.A[U1[,IF,U.3O[;,6( R@5$J&^I/2@ 'BV*V&UX3=F*3:<[$; ! MP]:*>G!3HYA]E#5BM<(FV<3T!@\!_PGUO@96A23I)(VY =PMVMT'1X=<71: M!\?H5971T%%2LR8K(+AK*$50<#;P;*J>7.(K*ZB6!C!2,0(Z?9:VHXEG#T$Z M&?LKCL7@'!W 8C;[(("%<@977K*_7MS!",KC;-AA]>GE%62-ZRT#]3!!CA)U M ]CZZ*J3TD7#T^V0ET(+[./>(B\WQET,:^^1V.R\4S-(C MDF8NED](N"#!?Q0K3;'J^57[A=0;Q@$A1@.AJ< MO._!Y*&K6GSPIJ;KT=)XN&S1SQ)NM\+B!GB/GZ#- Q[0WI?G_P)02P,$% M @ 0X1P5D9YS#KL P S @ !D !X;"]W;W)K&ULC5;;M5S(8#;QMGL]FZB5;83$>PUFU;9Q6%IGB&:3CB_P$>V/[E[3+-JBU*)%:822H'$^#:Z2B^NQ\_<. M?PAE'IVDZ_U-(@=(6RPL@Z!T]\+WF#3.""B\<^ &6Q3NL#]\0;] MBZ^=:GGB!F]4\Z>H[7(:E '4..>KQCZH]6\XU),YO$HUQC]AW?N.60#5REC5 M#L'$H!6R_^>O@PY[ 67\00 ; ICGW2?R+&^YY;.)5FO0SIO0W,"7ZJ.)G)!N M41ZMIK>"XNSLF[((R3G\"H^X(+$M/&"GM!5R,8DL)7!N436 7?=@[ .PA,&= MDG9IX+.LL7X/$!&S+3VVH7?-CB+>8C6"- F!Q8P=P4NWY:8>+SU2K@&KX(N0 M7%:"-_!HN457N3E4< \W/@SG3LR%Z7B%TX".A$']@L'L[%.2QY='R(ZW9,?' MT&<_K0C<"E,URJPTPE_?\=7"=:.JY[\/$3\*?9CX+VXC;)*ZW03?EP@WJNVX M?(-*T4DTUH": P=#=!HD:B\H5R2I68JNP]I)V^]:U.2YLD;4Z"(L(?V0PI*+ M%]P07MMI8;IT1_"[QD#F)3W\R)^X1?Q#B'4;[RNSH^<*!BJE7%0G% M:9FH1&IV@NHBYO^19RWL4DC/_0YK4?$FA*L5O52N4X6$+ZE7HB8K:N67"\YX MVUT2JSGU17+Y*FN"T\*%B7\,]X5WD_O>IQO].NQ3S\<#X7!"; R#Y,RAC(>G=.+$TA2%F9Q!OEXQ'H# MBT.6E9 7WK"3 I(B')<%C'UDDH79>0[%*'>3<9C'!92CA"8;P9P_R[+!G^5A M/"X)O0\HPS3):=W['(>%=3E25A) ZD+R,"7B19^=A67B)B[A3GX"I @2R3N5 MX3A)*=KY%&%.]K[&_>4ABD[9P2H)'"H&ULA55M;]LV$/XK!VT84D"S).K- MRFP#=;-V_= B:=;MP[ /C'2VB4BD2E)UNE^_(^4H#N X7Z@[ZI[GGN/+<;%7 M^M[L$"T\=*TTRV!G;7\91:;>8:S!#UW']8XVMVB^#)'B<^"*V.^LFHM6BYUN\1?NU MO];D11-+(SJ41B@)&C?+X&URN'-G@*KE3ZMXY'YME$#M!V&)M M'0.GSW=\AVWKB$C&MP-G,*5TP&/[D?V]KYUJN>,&WZGV;]'8W3*8!]#@A@^M M_:+V?^"AGMSQU:HU?H3]&)MG =2#L:H[@$E!)^3XY0^'=3@"S.,7 .P 8%[W MF,BKO.*6KQ9:[4&[:&)SAB_5HTFPL]4@_9<8T>\N;2;SC<)'!#8PHW&7RFWF5X2]OW M,Y1)R#)&1I6%:98ZHPBK,G8&_4I+^*"5,=!KM1$6DC),T@P8!3/ZY&'.4F!I MR,K*TPI9JPXA"^?Y'.9AQ2I(JC#/8G*R@L&:&U&#?(I\4AO/B@R263('-B,P M60RN1#O0XIP'E Y0."MVM28OUIK-P[RJR,CCL,CST2B9*SHO?/7/:V5A$9/^ M-,R2S'EQ4C@O+O/GM29%2F.9Y)"&Y;RBD275^5(I.\E/G1730*E?*74$L G MX-2UB(X:6X=ZZ]NW@5H-THX];IJ=7HBW8V-\"A^?ET]<;X4TT.*&H/&LS /0 M8\L>':MZWR;OE*6FZ\T=O7*H70#]WRCJ$ ?')9C>S=7_4$L#!!0 ( $.$ M<%:=N?]7\@( * & 9 >&PO=V]R:W-H965T?.YR>#I=*/9H9HX:D6T@R#F;7STS TQ0QK9@[4'"5]J92NF:6E MGH9FKI&5WJD681)%1V'-N Q& []WJT<#U5C!)=YJ,$U=,_T\1J&6PR .UAMW M?#JS;B,<#>9LBA.T/^>WFE9AAU+R&J7A2H+&:ABH83Q(RQ7ME$ 16.LJE?.Q*#FLGVSIU4= M_LB8:UU9(E?&^8X-4SEU,X*PK52&L&H:6@SC4L5@'&;8#DC0!Q C=* MVIF!2UEB^1H@)+8=Y61->9SL1+S X@#2>!^2*$EVX*5="5*/E[Z!]TU9-& 5 M7'')9,&9@(EE%JGUMB?3R'-9GM@]QTHOZ^]T&J.K](X0+;@JA3*,1?O_ )PMCH8K'/]LRWZ:;#76NI%&"EU3,JN"_S8SJ,7%TUF?,%R M5RDF2'XH/@()&10:2VZ!JF#0G'H(C] "C)GPELQ"CE,NI2-"I7TF"O 1#N,^ MC=E)YLB' >A6 M#]N%57.O0;FRI&A^.J-?"&IG0-\K19=PM7 !NI_2Z!]02P,$% @ 0X1P M5F=0H<#1#@ +3$ !D !X;"]W;W)K&ULO5M9 M^.]ZL$7.U\4].#@],U*S\VE*;ZM+CQ^'=104KLT>; N5][, MWNZ=C7]\-SFB#;SB=VO6H?5=T5&FSEW1CT_IV[U#HLAD)BD(A,:?:W-NLHP@ M@8Z_(]"]&B=M;'^OH'_DP^,P4QW,N+MWO*=2,]-E5GQQZY]-/- + M@I>X+/"G6LO:5UB+*O+#Y7%VX MS";6!+5??1N\.2B CW8=)!'V.X$]V0%[/%&?75XL@OJ0IR;M C@ H36UDXK: M=Y->B.]-,E)'XZ&:'$XF/?".ZM,?,;RC'?"VG?C/LVDH/+3E/]M.+/">;X=' M)O1C6.G$O-V#C03CK\W>Z0_?C5\>GO10^[RF]GD?]--SEP=0F6K2YZ%0O%%_ MQK]?S4VAWF4NN=I*>"_H[83OZX&Z\#9/["H#8]Q,=2A07Q=&)?43DZJ9S356 MZTR% @]@O 5O*[#PW"U7.M\H@,O*U/ S+>P/2N[M"!S>,_6C?I3PY/N0GXX/AD,U7O+'LO;I#KH?MS1>M,L_^S*#+:E/MJI M-PV;-M7>E?8%"61CM#]1$(@M-FJM@X+4P(1<_;L$361. -:CHR]J'7W1JZ/? M@B&9?0B%AX,'B=RGA#HI5@.,&"]B3:463VU MF2U8^\72B')0ZM8XKE$XFTI=.2UF9=8U/X*>(PM :,_L/WJ:&76MLY+9:O-K MD.O\9E@OG6GKFP5SY]*US;)=[RWL)I]; BK4RL+4AB1SH?0FRH?X3(S9?B2E MA0DDPMEK5A^)G;\S.S\;31RCPSW6N'IQ[#"N M9*"V(V<3J[PZ\B! "VVQZ\ ,A-4D1O1XS:R:$E,3 V>8"K^0HF6LI;G(74%' M5]JF9!X(Q'D@SNI:$2B$T%KG4^-A@;Q$2XXW-<7:F!Q6Y:\ B)T?3%:SDHOR M+%LG(*T9J3\6V)&:PL#L\TKNK8.0S>RRL?7")G 2WE3VS53+$8G E- VL(:= M4$BZ:W&(FE'D7J!:P+=$;%&:0P2,)":(>-&*%7%, 8 MI5AF IY96==K*:]J2WGU4$N!?7^L/<*G')C+Z!(>9S:]"'>83=HQFUV4J',= M%L(&^D(J!#V);JORSF(MY)%;#U=Z4S_QI6DY+X+F(!_?=9U047:*K)&)]G[# M-A==H<29U(;>X$D<20$BG/04""[MV-VQ EI6>5A)F)"4 6 M4^>A7T2D9U_0HX#'M0(>]V?IE4CYRX>V2!^G=KUH=JB=&:B=^#L.N_$]2 [4 M IDN7&EFL3KEV,4:C*SG$+=JKJ,/O U=]T0 M02V" O\"I]ZL[W H4YU?07XK%^ $:NT6=83#MDN@,C>)H6!ATIAT 4A)KC:C MM#MJ6X5&PC3EU%B(\$YEO'CT=G(0(PFG)@C412E.$/4 )TQ$82<[2AWHH!/U M*,CK6D%>]RK(607X2VW8#U6)7L [5&(V4-LP/HAGL7!ILZO-F<8SC5 HNFL; MF(L2#F/\X^C9E2M>KUQ!M0@C+/,:#0%ZWXK$.H5+)$./QPE=< W^;>EU;?A_ ME>F<'HRH?D6P82(MCIX439HG66]]SFT.I$%7I7WB&+5DA!(/U[ /\\S-9B%F M N20O)Q4LD3._!B!'!_QWK*K7-XT/FW;/8:_R?6I2^<=Y MHWZX.W1O/E 50O(9[>]5'Z!BSU!E&MY8D@((L9P16SD/=]?&+XQ.I3KRL3!) MJXP.M0WXQ 5$X'QD6QDSXG)=H9RO,CU#24V=[EF/M_+Y(,NXHS"6Z\?(7%;3 M6L?9@85 I+DIJA43$@-1=U7]0?77_T7-&VS_*R7?%8E;=>]3E+[5XQSW*CU\ M$P1)^>E%1DT7TB,*C*NG%%']N'88PH(Z:1TBAETJ6J]7S6M3O[Z5OW%Y$*T! MT1.>R?([\HY+*EC_Z:@W-32I/?V,J$45@(PM9;/BMY48.,NGQD!FKTW=N(NE MC_-1@S)>F:&20%D']1TJ.Y.DT/A1W8&Y"VMU_P$U^7?J580?U2^$8,%-JB6V M7L<6S:4@(H!;R)X9]:ZT',,E;G?V[E,3+ R@6>K9T:'ZK),%V $][U)2+7O% MK;KQ^$2-7ZB/I<^1)GADW#-[0U^0SR70Z[*@).H'O5R=J.!FQ9H.4H$XJD&\ MNE? ,1.7X$F.)@9/LF#K>Z@VG-[^Z+?EZA?1( M<^Q%N\,<[:#&UWQ!;( K*NZR7>=Y*@TNN.%+5H)>((&K?3H#^4MJO? MDL*1\,>J]5WT8,@(^Y2A&;N,>^/U(HGS&GV_QK<1=Q^$CVA](6E MY84P*&Z'W5?M>6G<>,OI3G6PU#"BS3L@P9VS5S MF^_H=Q@HO6N-XU0D/-U--".N=I*# ^5 >>,O*Z M&JB*!!1+;I[;>M156967Y_^0Q.)28BYDD504NJE4NM32]BYC5TL!<&FI%4?= M3MB1L M')FH.!I.4-L$A19%MTKJ+0>F%FQ"%1Y/%5@\0IHW[3D)S3\NS]7+PY=P)Q.$ MP^?0:U*@>TKI<3-N&O?/FRX74/EG[[C%>:$WK.IGGBQ)NIP/U96GS)VR@6JC M)W:9/(A8N*G<&AX1ORG8<_NZZ?]5\A!S-SLUD71G&:5[-J'2G;'7AE*F:24'*X[H^%<#]E+-1\-;074@4.8 M]!A;F6,DN%4BXXR!W%$\0JR@U'XS,J.-US'VQ+<1?600TSX8J8_.SPPG79(6 M1?1I[ 5N))CVUPC-@&7'^X Y4*U0BQC_E-SW[V' M/(Z0(P$JZG%LG,!*+R7&NM8XE[(I4N 'L%QBH)'9NWO0%HGS$2M=",!*S_V- MKC?%JZA>\=9 =(,YZVI&;JMFJY#G?>:L'_Y \ M:"_QC8J!;6<1DZ_R$"$%<84B>F:O##MNQ( J>N]($ @$2SO*A>6!;26(8._" M;[G=S]0UX71_J/]C5/F<@X^'=! M+.KR)7KP3[EG1IG*$4R/@Y[(]^DZ<=/^OOQ7W N M[1.9V+U'=ITYZ0=]$!_W6!WM1[>#I7]3T;.#CM^HL/&N+%I%[*W[?-30D#RA ME9[X-L"T!9#OX4)IV)EU,HQV?E=E/$A9FKDNW,+WKT=':FFSC*] ?G\\>M'\ M(DQX,JF>J+5I0XV^E@MJ.%9*9?H$W'L=;M+TGB?]O6'U(&3IKTXZ6\O_FK6G?O+WN6.8LZ3+GSTX]K.5AJMWKI#W:&! MV.JE09.[WC,W7;1)?Q<-*#-(I/;_0Q&;K_++L_2O4N;X#S[X?0BK<'0>@[FO MGRST-5T5X_VT_K\ 9W(# MOEDN_Y'@,RH;ZKUD9H:MAZ-7*.V]W,V7'X5;\7WXJ2M0^/!7FBX:3POP?N9< M4?T@!/7_D#C]+U!+ P04 " !#A'!6>9.(3JT" "O!0 &0 'AL+W=O MY!E0B3*#H/*\9ED([\WE2G(]58 MP25.-9BFJIC^G*!0RW$0!YN-9[XHK=L(TU'-%CA#^UI/-5EAQY+S"J7A2H+& M8AQ3@?/W#K\X+LW6&EPFG/&0CX/("4*!F74,C'X?>(-"."*2\;[F M#+J0#KB]WK#?^]PIESDS>*/$;Y[;8G4(_[D$2)OGYW'WW/U]]S'P;:!'?EUZ('N]&N@RY-S3(7>W1-NBT#?:QIU--O:CM9P^FPKT-DSG\IB:Q/;@SEE.9 M8@ZO!HM&P"/5NX$_/AEXP96%B5#9V]]=>>V/_(A4^*42.?"JUNH#740#LU)I MB]K5#';!FS:XX 7"I.$BI]HQ7NL7[-$G,FV.Z=W@I!_!$\M*"DH%Z#QQDU7G M-H3#@XLDCJ\@/H/[1DMN&XT]*/C*+4P/,E75#:DQ<,BJ^@J,*NR2:>PH^AW% M<-=CA%M-5*%>^%%AP)=_VT_=;C>-KMLF_._>CK(GIA=<&A!8$#0Z'9X%H-OQ MT!I6U;XEY\I2@_ME21,5M7.@\T)1&:X-%Z";T>D_4$L#!!0 ( $.$<%:3 MRB^-H04 -T. 9 >&PO=V]R:W-H965TS4RC!2_\I*J<,4+B6<5E/9D?>]FEGA^KUI:R%I<:F;:JN'XX%:6Z.YG0 MR:/@2J[6U@EF\^.&K\2UL)^;2PV]V:"ED)6HC50UTF)Y,EG0H]/(C?<#?I?B MSFRTD?/D1JFOKG-1G$R(,TB4(K=. X>_6W$FRM(I C.^]3HGPY)NXF;[4?M; M[SOXZ0=J-!FVMX5_UL,$[6+BG7 M5L-7"?/L_*.R C'T"BWR;ZTTTH7*(%X7Z!RB9:RTK19H^HG?E,(<',\LK.EF MSO)>_VFGG^W13QGZH&J[-NA-78AB6\$,C!TL9H\6G[)1C>[9[N:.3(-S\7)!(K""'TK)O.7O]"8O!ZQ+1QL M"\>TSZ^A!HNV%$@MT97(U:J6_X@"712BMG(IH;DP1EC394]#WV7NO>0WLH14 M@E_PO:U _J=W$'T2]Q:=EBK_^MMV>WK6RXUNN5EZXW,@1Y9",T[CJSF MM5D*[2P[XV:-&B[!1HOR4AE9K] +Q (S*FBF,8!NFQUOH9"18V6N4"\!'>[(8L\5VT-X=(B M%_+61P2F899EZ**^A: J_0#]D)+>H+P%VV%EWH6945"O84?4]@&CI@2CL ^Y M@/ WE1L9X82$Z,Q7KE, \&O8>@QZR:OF-:Q<=K%9RP;TX8Q%L+2%70FVJ1:< M:GKU\(VR!'U4]:M<58V ,N4K+81?A$49>B^K4RSWOQ>$%+T M3JGB3I8E2C"%$'8!E#U'/A#]6)^1D"1/P6KX@Q\P31(&L0>Y;B&?XAX.!@.( M3>,X!?E%#78*9/E])P/1N>ASWPO#, -I9WBY >G467R /HHAT/R1YR&K_Y>S M+,*$$'0&^0"!"^(3;-,W7->OX,@Z@/31--T==8-2G$:;6)XOKM$TQ0%USGZ! MT\^"O=@UVD:J+OTU"T&ZH[V8I=N80?Y9GNP"Y+OL?N..JAL0':@[NP[ MZJZVJ<,$[-V"[O().A9V>^79,^C2>)2XB 5/Q(68)>DX<%!FL <\YXUBXHO\ M.6\A5-8NVF*R#S=GTU[?7#+J;(WW'T?5V7Q_^$%QW5T.(4"ZJ&^ @(-WESOU0-/U<\[:05A0'6^UK#AH&B&#"E;DR"$Y;YV X?0V"8TNZH24F$ M7+7!;$@N&&/67(LC=,J-S)VB0SAZ8>1A1N"&7+;6)P6DS$L!MIT>===5ZG[( M#SUB<8:SP"L,(K [W>41BW *K$*#P?:3;'O$"(YBIX#"Z12%HQZQ0]@_W5\8 M;7@$4M))=[,VVWAR0.VN_,/*(%\5W>MCD YOMT7W9'D:WCW\/G"]DG"(EV() M4\EA ACI[C'5=:QJ_ /F1EG8*'QS#>]/H=T ^+Y4<(7O.VZ!X44[_Q=02P,$ M% @ 0X1P5L^ 1@_0 P ^0@ !D !X;"]W;W)K&ULC59=;]LV%'W7KR"T87 )9(HR;(SVT"JV EAS 0M;:/^IX>(\#[1RHP]TF"!+6K09Y/08"KK$!9=V'D; MEKX1-J;D5@JSTN2#**%\&2!$C#U0N@_SF&_63TX]C_ J8ZL0A2#$YHAIPAJDOO3LER4QA-?B5)2H,\I3BB41S0=(2C.*22CX,D3\@)/;)>C^RD'M?8R@K/#]R;9D6N MW:X$%9!^_4IK, ?S/SE;\)J;Y\#5C'L*^-8I]SX!3\(Y+N"KW!RT=Z"J=UQ5 M7%Z"4JBZZEKLG"P 91!6!.R\-@FH[6SEB,,I2R:8[[@ 1HX9) MCAFC*/?VK:_:@^E?M!YD^#TB9V00!WD\)&>V.)=GG\8VAD5_*VO;T1^Y+7R0 MY1DZG1^K&5"FE]4.\_&^:N^ET._B]:M %6HX%%^_R6V>VM;-X]=\J5?5!T1( M@[1O)6Z/TG':\Y8$PRQQ6RKK*?E)?6?6^5H,@R1(L]P228,(S^RSMV#_GQZ: M1RWL8[LK/+B.,%_E+EW;'1MAVINI7^WO]:OV.OMIWOX4W#*%?&E2PQ)=HXL< M=X9J+]IV8N3:76X+:; X-USAOPDH:X#?EQ+/^6YB$_1_.[/_ %!+ P04 M" !#A'!6#8FY7U,# #^!@ &0 'AL+W=OJ14DG M&Z4;9FFIMY%I-;+*@QH1I7%\%36,RV Y]WN/>CE7G15,+W];6;43+>X$^. M.W,P!Q?)6JEGMWBH%D'L!*' TCH&1I\7O$4A'!')^&_@#/8N'?!P_LY^[V.G M6-;,X*T2?_'*UHM@&D"%&]8)^T7M?L,AGHGC*Y4P?H1=;WM5!%!VQJIF )." MALO^RUZ'/!P IO$'@'0 I%YW[\BKO&.6+>=:[4 [:V)S$Q^J1Y,X+EU1GJRF M4TXXN_RL+$(.%_#4M:U 2K=E FZ9J>&>"@8/LB^\R^#Y5[86:,;SR))GAX_* MPF[[E5ZDO$.RTO(DA#2.$U/\&7[ M/&2>+SN1!P-]@,?BZ]'Y<;1[.3/3LA(7 3T-@_H%@^7//R57\2\GM.5[;?DI M]N43O<2J$PAJ\ZTRX?<5N^.F%,ITY!W^\6' 5WRUL!*J?/[W6$0G?1Z/Z&]D M>B@A4 &P6:-V11BY(KA*)&Z(1^=<@JU59YBLS'CD-;>,5T!W:39ZD!:)TL(9 MI&%!F#.89#04"1V5JD&P[!5-"))Z$H5,S[0C'DBRD%H-3,+K)"=D/DU&GY6\ M*!T[ER_$R.46R"5LN&2R]"OWZ+GE:&8DH^4N5:RJN+O/ADY+W5$LZ\Z"5!;> MR*'7>09).G%CYL8TG8QN!M.2KC$14]+=U/ *=?\XDCR<7$WA.BRR!"Y&CRYI M9/3"1.<+)YU4U;1HO7/R\^9*1V'%89QG!,R+@H#W7CN"0.HUH%U3;/T&HJPF*:DXD?[ M0^YS9TC,O>V8?!V[X]%!3VI0;WWG-92T3MJ^/>UW]\W]IN]IW\S[/\,GIK>< MRB5P0]#XLI@$?0#O"ZM:W^'6RE*_]-.:?E"HG0&=;Q2][F'A'.Q_>!P &0 'AL+W=OSS/SS#.>F>R5?C8;1 LOM9!F&FVL;6[BV)0; MK)FY5@U*^K)2NF:6MGH=FT8CJ[Q1+>(L23['->,RFDW\V8.>3=36"B[Q08/9 MUC73/Q8HU'X:I='QX)&O-]8=Q+-)P];XA/:/YD'3+FY1*EZC-%Q)T+B:1O/T M9C%P]_V%/SGNSFL*CDLGRI/5])63G9W]KBS" *[@$4OD.[84:(#)"N:"]&*R1"#EX59CQ2U\ M4\;0]XOO_M[E)+84@@.*RX.[17"7O>,NS>!>2;LQ\(NLL'H+$%/L+8'L2&"1 M=2)^Q?(:\K0/69)E'7AYFY#B-&-0[ MC&:?/J2?DR\=L15M;$47^NR)GF2U%0AJ!?.R5%MI31]\Q'W2ALD@W1V7)!R7 MZQ-1X1]/";[CBX6%4.7SO^?8=?H_SXX$P'J)VHG0,3YZN<<8/GT8 M96GZQ6I6(7R$P: _&B2TR,?]<9+WOJ&A^-^471G*3AS*;ICG< D7@W0,E[V3 M@NV#I/;E$=-T&!#S40$=*1^T*1]TIKRE\>JN__[;^)]9[G1Y/LL=S['W-S(= MWA.\)T9K?05+7',I7750%36HN:IA:)DS,M"I*3 M(J>A8A"J+8)58%BH\WLE'+$[[E@MMX:217F^R*D$X.H-,:32/Z7DJB40.U<' M\4G/K%&O_60PX-4.[;,];8?///3P( $X% 9 >&PO=V]R:W-H965TMA&:@N(TP;-(460I,VAZ(&6UA81BE1)*DK^ODM)45S \45< MDCO#F167RU;I!U,B6GBJA#0KK[2V/@T"DY=8,7.B:I2TLU6Z8I:F>A>86B,K M.E E@B@,9T'%N/2R9;=VK;.E:JS@$J\UF*:JF'Y>HU#MRIMZ+PLW?%=:MQ!D MRYKM\!;MS_I:TRP860I>H31<2="X77EGT]-UXO*[A%\<6[,7@W.R4>K!32Z+ ME1A!WABKJ@%,"BHN^Y$]#778 RS> D0# M(.IT]P=U*K\RR[*E5BUHETUL+NBL=F@2QZ7[*;=6TRXGG,U^*(LP@\]P*1]1 M6J4Y&OAXQS8"S:=E8.D(EQCD ]VZIXO>H)M&<*6D+0U\DP46_Q,$I&T4&+T( M7$='&;]B?@+QU(]8!! M_8A>]N'==!9^.:(M&;4EQ]BS6VJYHA$(:CO^CV2&M735+&K.A('WD$1^,D\IB")_ND@F M]]1OP"746N5H#"2T&M,W"M/)!9><;F4!.Z4* S-_,5_ W ^3^>1.629>_1%? M&OMI/*,@COV$@D.E#/;N>(5ZUW6R@5PUTO;7?5P='XNSOD=>T_N7YHKI'9<& M!&X)&I[,4P]TW[W]Q*JZZYB-LM1_75C2@X?:)=#^5M$E&B;N@/$)S?X!4$L# M!!0 ( $.$<%;7[V*X0 0 &4* 9 >&PO=V]R:W-H965TS^^@ZYLNRZLN!##[V(0R[G]>+AB"YRB_G5U+6GG;:U4O,%6<=&"Q/G( M.0M.)ZFY;R_\QG&MGLE@,ID)<6LV7ZJ1XYN L,92&PN,ECL\Q[HVABB,GQN; MSM:E47PN/UJ_L+E3+C.F\%S4/WBEER,G=Z#".>MJ_5VL/^,FG\38*T6M["^L M-W=]!\I.:=%LE"F"AK?]RNXW.+Q%(=PHA#;NWI&-\@/3;#R48@W2W"9K1K"I M6FT*CK>F*%,MZ2LG/3V^$AHA@V/X)$2UYG4-K*W@FUZBA"^M9NV"SVJ$,Z50 M*SB\8;131T-/DV]CP2LW?B:]G_ 5/T$(EZ+52P4?VPJK?QKP*.AMY.%CY)-P MK\4/6)Y %+@0^F&XQUZT12*R]J(]2"CH$]R57Z\=[]8VO7.J5JS$D4/-H5#> MH3-^]TN0^N_WQ!9O8XOW61]/J1>KCNH@YD^%^MW&"C=XKV%2B_+VCUUA[S6\ M.VP#J$$U&'RCWN?M@GA?L[9$.(# S]S"3TA* C>/\L%9^;/C$BO@+Q#DKI^F@T^G$UMTQH7)5MQS8A^U9_$>FI[ M#4&1PK&])%[$T<\KB67-E.)S7EI76 F*T-XBIKY(/HA M.H7SKH::SXD6/CP@DXKP/2DV8G$2]=+@DQ3$*-:(CBAQ &GB!EE,0D84,FOB MQD5F]IF;10GQL>R:CDI)")*2U/RO35DS-TT3*NQA%F9F*7)3Y@,2W(@L'@VN MB%-/Q4XR-_$+X]&-(N,@=I/ $#_-W2@-!B\Q"_X'F"6O8!:ZD:5M[!9%CUD8 MFU2RT$VH#U_'+';CV*!T&&06NL@B>& ^6/C^C5F>I]91'A3]FOLF @(SW]LN MZ;9=TO^H75RXZ'0G:?L\I8_W-$L4OK&7]L;RZO2,;.:QGP]H$ULQ,&+R)*8D M1D5AQ,R*V>"&_G.1S341*";.)<_^^HEZ"_O ,0.8*M^_ K:G MVS?46?]T>+K>/\ NF5QPFM&PO=V]R:W-H965TIL+22N-9BN:;A^6&&M]@L_]A\W/HM=9=U&N)RW?(=?T/[9 MKC6MPI&E% U*(Y0$C=N%?Q5?KE+GWSM\$[@WSVQPF6R4NG6+#^7"CYP@K+&P MCH'3ZPZOL:X=$#TQY .^-Q^9'_7YTZY;+C!:U5_%Z6M%O[4AQ*WO*OM M9[5_CX=\,L=7J-KT3]@/ONG,AZ(S5C4',"EHA!S>_/Y0AV> :?0; #L 6*][ M"-2K?,,M7\ZUVH-VWL3FC#[5'DWBA'1-^6(UG0K"V>4G91&F\ >L-35:VX< MUC67%K@LX>V/3K34 0MG7_FF1G,^#RT%=="P. 18#0'8;P+$#&Z4M)6!M[+$ M\I\$(:D=);-'R2MVDO$-%A>0Q &PB+$3?,E8@J3G2TZ4P,"0X+'\!G1Z'.TN MS:5I>8$+GVZ%07V'_O+5BSB/7I_0EH[:TE/LR]-=^:L7#5_QWL*J5L7MW\?T MGXQP7#^5&)L-:E=FSY79U3KV/KKP[B>:5JL[="(,O(0TF,8QO9,@GL7>JA-U M*>3._-DZU2I^E].69!%B>/,9MX-+RH2K!_@%6_:UX!C M[ADCC@0F+)CEB?>NTU+83F, 6W'O#!- H9JVLZC- 6S4UNZY1LB#-(KI&67, MNU;26-T-,T)(("$[0AN8!&S"**4LF7I/;6C'-CQ)>0EQ' 5YGCN+Y<$TF7A7 M1=$U7&ULE55M;],P$/XKIU"A(6U+FKZPC;;2NH% VM"T#1!"?'"3:VO- ML8/MM-V_YVRG60==!%^2\_GN\7//Q9?16ND'LT2TL"F$-.-H:6UY%L-\')UWSZ8# M%^\#OG)JWP H5P0$3C5XT9-4>ZQ%U[ MB_[!UTZUS)C!"R6^\=PNQ]%)!#G.627LK5I_Q+H>3S!3PO@GK$/L,(D@JXQ5 M19U,# HNPYMM:AUV$DY>2DCKA-3S#@=YEI?,LLE(JS5H%TUHSO"E^FPBQZ5K MRIW5M,LISTX^*XMP"D=PB3,+!_=L)M"\&<66L%U$G-4XTX"3OH#33>%:2;LT M\%[FF#\'B(E4PRS=,INFK8B7F!U#KWL(:9*F+7B]IM*>Q^NU5&H@%+BOOI#= MWY_M[L:9*5F&XX@^?H-ZA='D]:ON,'G7PJW?<.NWH4_NZ*[EE4!0\]"('YXG MW./&PE2H[.'G/LJMH/LIDZI8S% WRL(MKI18<;F 3&/.+?!P.]=5%JCM% J[>_=0=^[W\#5L_!# MP$TFJMP?_$=*!P9=G]0B[:"1=O#/TEXS6VEN.7T'M/)\?&G_(7GK8?LE_XY, M [I; <_4]T=?.55?;D$0FOK4(U&"D!VZK%N;-OJU>?3D&OSM&D(:[+JC_5Z- M53>T:75GV\9]TL<[.?L0( ,$% 9 >&PO=V]R:W-H965T?N->[8IC=T(LEE--_ YGM]IW 5]"P%JT!H)@51L)Y[5]'E(K7Q+N '@ZT^ MF!/K9"7EDUU\+N9>: 4!A]Q8!HK#,RR!EE1 M#4O)?[+"E'-OXI$"UK3AYEYN/T'G9VCY(G>XVD5-Y30W-9DINB;+1R&8GSJI#HS@F[*,\&(6G#'$F M^RH-D"@DY^0JSU4#!;G9X8-KT.3=(UUQT.]G@<%$-CS(.])%2QJ_0AK%Y%8* M4VIR(PHH_B<(4&$O,][+7,0G&:\AOR!)Y),XC.,3?$EO.W%\R0G;FK0&C_EK MT>EQM"V42UW3'.8>5H(&]0Q>]O9-- H_G-"6]MK24^S9 Q9>T7 @;/,+.D 67^=/O8PY.YCCN "\9JA4H>]$#>]'VMJ/!4E;VCZ"N MBL[(V)^F4QQ'?CJ=#):-4B ,J:5RYZ@YQZ=G8F-W<:I9 :K%#OTP#$GJ#]/D M&,X)P:UGRAMG7DAQGMODAKF8FKY@.S":1/YD,B'1<#38WT];*2A=P8K:ITU0 M78*!<1H-OID23U)_/(WQFR33P1F)$S]"@V[?@H*R0>^.:AT93 MC3!MA?6[?7^Z:LOR7WC;W&ZIVC"A"8&PO=V]R:W-H965T"^F3 MK3;?[$I*!_=-W=K3T;A3-9Z>SIBH]W$E5JN'$W,YB=K ML937TGU9?S;X-1M0*M7(UBK=@I&+T]%K=GR6DKP7^*KDUNZ-@3RYU?H;?5Q6 MIZ.0",E:EHX0!+[NY+FL:P)"&M][S-%@DA3WQSOTM]YW].566'FNZS]5Y5:G MHWP$E5R(3>VN]/:][/U)"*_4M?5/V':R63R"@B%I1*.!=]5K(SG54E"NG<%5A7IN_DD["8S! M$5RVI6XDW(A[&-^(VUK:R<'\"+!H3K"&K#2W,G1_+=?6!K^?H!;/'"+#Z'/K['DJDTM02_@7#=KW!O[TW<"/O'9S5NOSVSU..'33]M&-_26'Z2 +&03:WT@RQ MH >C1PAOD)MUJH1?(8J#-(EQP%G PP0'+ UX'@'6$%9("RP/PC3&?#N"&^U$ M#0D/,I;OY'OIEUH^WQB#>P1O924-@J$YQ(ER'"1!5D1$). \@FLG,-%Y$(4% ML"!"U21)'DD%>1KM<=K!LB2(60A9P%B$REF6(YN%Q,5J,#F.@CQ)80)CQ"T* M&O #0YX([C(,Y9AY<5I,RBM!=271HX3(.U MT7?*MT;T.0P*7GB?(U9XGPL6PX&,3(:,3%Z / MMR*O4PXL@W=&6TOGR\].0Q'$&<>=+Q$C>>K:$N)&35&_0E\PB/] MH#Z:_&%3Z\= 'F.;*:7UO8>.5-!W2(V$<$N4GUZH>]3K,<=8'$AG\IB][[2N MMJJN:2F.$U\#0>HKPY_\!+&Q_0;1&N^$4)I1$74)7SW##\:Y]X*J) P2#TO^ MUKI='CEIFB<]'^\A3*AN@C"DI"'K6/^3 P63#@63OKA@+A8+Z2\=^^W[BKK" ME2QU6R*3+G8OJYK#AE_:,;],KZ>PZ'N7Q1ZU\95B?'MDTQ!>_?1"[L;G^KB2 MW6B"?6BO%6$T\,3 6Y!JE[ PNCGN>Y]?"Z"5/M@[FSZ)NJ,+HBF'&*W$^/XH M1=TU%"Q>:1Q>*!OJP=0BPRGSFX?V*T6!#*>9CWWWRJ:4"5?2;4P+3N_U1E'] MBW>HQA^C!)/A<]> O^E7L\LOCN\L/-):@&CT2'>KF?[&MBSP.L MA!:D;Q8@ML)4U@LB,6+4R__0/PB+>-"[*_C>F7":XH_#^0I[AZ0MOGNZN$./ M?;277D2H"R!!8>02W*]7V$6F!;QZ*JEG>Q?&1IJEOQ83T4WKNKOC,#O[:_E&8I6HMU'*!JF@?F[OIKL+=A]-K?_V\U0XOLWZXPG\/TI KB\T MWLCZ#S(P_!^9_P]02P,$% @ 0X1P5KZ\=MBL @ "@8 !D !X;"]W M;W)K&ULI53;;MLP#/T5P@.&#>CJ2RY-N\1 TVY8 M'UH$3;=B&/:@V$PL1)9<24[:OQ\E.VXVI'G9BRR)Y.$YILCQ5NFU*1 M/)=" MFDE06%M=A*')"BR9.5452K(LE2Z9I:->A:;2R'(?5(HPB:)A6#(N@W3L[V8Z M':O:"BYQIL'49G9*'4VAUN\DD0.4(H,+,.@=%G@U32+/\II9EHZUVH)V MWH3F-EZJCR9R7+JBS*TF*Z:5C2 M2#"6R9S+%>2U=A];(+Q0#C@[&0S[;DWV,_\5[..RY-1YX#2,X M5/QPKS]+U"L_A0REJ:5M6K6[[0;=9=/?K^[-E+QE>L5)G\ EA4:G9S17=#-Y MFH-5E>_VA;(T._RVH&&-VCF0?:GHV;<'EZ ;_^D?4$L#!!0 ( $.$<%8+ M8\B!%@4 )\- 9 >&PO=V]R:W-H965TAT?J?"?DO5HA:GBHREI=C%9:K\_&8Y6ML.+*%6NL:68A9,4U M?68>5X\KGA1CZ;G=NQ23L_%1I=%C9<2U*:JN-S/L12[BY$_ M.@Q<%@=S$KNA+@W'^_RBY%G L(2,VTL<.JV^ K+TABB,+ZT-D>=2Z/X^/U@_:U= M.ZWECBM\)D'H1'\ $[A>L4EGIH5YO!*5(2ZXC9QQS?\KD1UKP.QA5ULX9#UZ35M MP'Q3(H@%O*G6I=@CPC4Y*3)LT(+Y4[1F92FRYI7TKC 3R[KXAZ0N41;"""NM M')CO8;;C,H>;_1KA+YL!N,$'#7/2O_^[+QF#X?8GXT_DLD4?"#NL[E!:_!ZS M+7LR>UA*7FL%1Q!ZWC?MM9T6:VNME6)Q M ,SW@ 6,4J*T+#+CHQ']5!<:N$D&"3I1&('OI'Y*K9]$<",T+T$]%^X1! [S M4NJ9$S+3D[*7P #^48=_]&+\FW0U<%_R/55%W>#GM(OX:-=+P-[R9.2-^S5CPWL+909H5"6$NS9XX@25R+ M492X06CX$KB3Z*M+LE;!\=XLZ01BE[6/#Y]M<Q M0)@MEQ*7)K?O:*:@"T!F:8WP<:.5YG5NU+YGFP^3U(D3WZ 0N%$ OQF,R./$ M29.XA?X050['?NR$"8,3*@HN]4.F&4R8XU$Q(-,3=Y)"9&A#=*(*$1YLVFQS MW:.<,L>?3(QRY$8>*5-P1Q [21+ +=&7HB''@!T-!6P-JWN-#44RP+.DXUGR M_WC66SY_F':#0?33KM=Q#_&:8^VUH<];LS6?,J3M#%# M9B/?F:0^)*$;Q]!2?]N =AQ.G(BP.#$J7@1T35Q@H3=&Y-AW6!C25!R84O,? M[AFY9TX0F)(1Q:['AJ!,.RC3%Y\?;S*8$UNJE%X%!O_WH'>K$,R@V MIRQEPNP,/_#M>>JGL>T#/S%3(5U2*:MITK8T%)DAVE+F:4P\8SMX4JJ1YUS;N"Y+"H]\G)C%H-N5V*LZES*HLN#8*D6S)1>>.A&[M1XZ%\S<"MF.?&#G3'PP6;\SMN'A8W"GO=!F4J2EYI(2M0?#;R+LC@,K'V MSN"[X"N]TP:K9"+EH^U\GHZ\P!+B!<^,16#X>^)7O"@L$-+X;XWI-4M:Q]WV M!OV3TXY:)DSS*UG\$%.3C[R^!U,^8\O"W,K57WRM)[9XF2RT^\*JMNWU/,B6 MVLAR[8P,2E'5?_:\CL..0S]XPX&N':CC72_D6'YDAHV'2JY 66M$LPTGU7DC M.5'93;DS"F<%^IGQ5VDXD C:\(6C. VM>S8IN#X?=@W"6Z-NMH:ZK*'H&U"$ MPK6L3*[ASVK*I_L 7>35D*,;&$C-G1XX0FQ&FJ! MQ_35WM%Q;UL> [U@&1]YF/^:JR?NC7__C23!'R>X10VWZ!3ZN Z_#ZXLVG+6 M?M <+K3F1@.KIO!%L(DHA!&HX!\G >[YLX%)(;/'?X^I.;G><348<%Y.N&J" M;C\$OBVX8D94Q*)3BE4%KZD=QW_U)G[Q:^+A/G )ZU S>PXY) MS_UIF+[#J)#5O&VX*JV4P$_2&!N)GP:OH_&6&XD3#$]\@MBK)?HQP4;/)Z0/ M)W(O;G(O?C_W?+B2VNSEUN6;N74:[V_.5'T(P%Y&MO!YPICQ5$-&A^&,X;P M8$?M*KC9"5(A/DU"^,Z4<)'8F0^#".S<78YDZNW8F8U[$(5[>^B&SR#T@\CF M$O'C-(4KIG-8,#$%O%*!E7)9(7=19<72!@P#5*+S4O'29B(J/! PV&&?6;09 M7JT:9DJ6(/=UZ7694+<\[4?KX!YSG>V&70/JI.ENGJ2&, M$A;1=@5[:F]8;$[WS2G^XL,U,TN%K5^LN).K_^IIOJ&S)=EBK@KMX9N$=;*D MKB0CEP!^1 /;B^L>Q>AC#T^K/O8"XBQ[D&!N]8(4[G.L.C;#[<2=#_V$D+UR M6+ 7F]-X%>!Z)/*C7A]LV ;;>FWUX1Q:!*^!&!LW5@KNZ!,KEOQH*5C&)-Y> M(<MJ:UZ_4:^9F@O,ZX+/T#7H]/ < M5/6[K^X8N7!OK8DT^')SS1R?REQ9 YR?27R"K#MV@>;Q/?X)4$L#!!0 ( M $.$<%8S;Z"*B ( '8% 9 >&PO=V]R:W-H965TICVXR6UCX=B9[5#X][MV MVJQ(I2_QUSWGGGN=X\E:Z2=3(EIXJ80TTZ"TMCX/0Y.76#%SHFJ4=+)4NF*6 MEGH5FEHC*SRH$F$21:.P8EP&V<3OS74V48T57.)<@VFJBNG7&0JUG@9QL-VX MYZO2NHTPF]1LA0]H?]1S3:NP8REXA=)P)4'CSH8OW 3\YKLW.'%PE M"Z6>W.);,0TB)P@%YM8Q,!J>\1*%<$0DX^^&,^A2.N#N?,M^[6NG6A;,X*42 MOWAARVDP#J# )6N$O5?KK[BI)W5\N1+&?V'=Q@XI.&^,5=4&3 HJ+MN1O6SZ ML ,81^\ D@T@\;K;1%[E%;,LFVBU!NVBB3>*X=)?R8#6=$L0DMA.<;)5/$L.,EYA?@*#N =)E"0'^ 9=!P:>;W"@ P;: M O?5UZ*'^]'.,^>F9CE. S*%0?V,0?;I0SR*/A_0-NRT#0^Q9^V=W"F9-UJC MM&\NY;?7#(_X8F$F5/[T9Y_\@PGVRZ<.8[6@Q-LNNT\,%WFN&RP@I_OD#R&N2,GP#,3#8):@E2RGZNJ1LL] MMF:O9'5K8-R+TY30 \K8EC\\.X71Z8BXXG$O22(W<:PI[.MPN..%"O7*.]Z0 MTD;:UA;=;O>H7+1>^A_>ODBW3*^X-"!P2=#HY#0-0+ 2YQI,799,O\Y0J,TDB(/=QCU?%=9MA.FX8BM\0/NCFFM: MA2U+SDN4ABL)&I>38!J/9CWG[QV>.&[,G@TNDX52SVYQDT^"R E"@9EU#(Q^ M:[Q"(1P1R?BSY0S:D ZX;^_8KWWNE,N"&;Q2XB?/;3$)A@'DN&2UL/=J\PVW M^5PZODP)X[^P:7S[_0"RVEA5;L&DH.2R^;.7;1WV ,/H'4"R!21>=Q/(J_S" M+$O'6FU .V]BZZR@?H-*\PPAH]=# M&9*S,PW/43/?UZ?^"2=G(YAFF:ZI(N^[(M/RG$;3F8O5ZUSVAV1\Z@RZ,J;)"RSVX8J^-U#CJ1+TNP7J# 1RZW'"O'4O4*S]T#&FII6TZ ML]UMY]JT:>&ULC55-;]LX$/TK S5;= &M15*?3FT# M<9+%]I BB-OMH=@#+8UM-9*HDG2<_OL=4HJ3 JG1@V7.<-Z;-T-Q-#LH?6]V MB!8>VZ8S\V!G;7\>1:;<82O-1/78TK%3.UM4W=XJ\'LVU;J'TMLU&$>\.#)<5=O=]8YHL6LEUMZ=\:&:!\P)P@9+ZQ@D M_3W@)3:-(R(9WT?.X)C2 5^NG]C_]K53+6MI\%(U7^K*[N9!$4"%&[EO[)TZ M_(-C/:GC*U5C_!,.8RP+H-P;J]H13 K:NAO^Y>/8A]\!B!$@O.XAD5=Y):U< MS+0Z@';1Q.86OE2/)G%UYPYE937MUH2SBX_*(O I_ 4KW%*S+=QAK[2MNRV\ M^R37#9H_9Y&E3"X^*D?6Y< J?L'*!=RHSNX,7'<55C\31"3QJ%,\Z5R*DXQ7 M6$X@YB$()L0)OOA8=^SYXA-U&Q@*?*V^ 9V\CG8WY=STLL1Y0%?!H'[ 8/'V M#<_8^Q/:DJ.VY!3[8D4WK]HW"&I#I_& W1YA_0-NY#>EX=*_$ZB-;NP2BQOJ?Q\)%^*TG]@C]^N;[!JBYE M V<@BBSD!8."3::T<08\%F'*4LB2B1@<@H4B+2#+O>-B3W4I=T>!YV%2Y)!X M)$_#=)I!/LFS!+6+%VDZQHLL9$E![ .@"&.> 6=##M3* MGQN\E6W_'JYP0_,%78Y8%$00.T@6QB0\'[*+L.#.< D_=!5U7]=4(&>$H";Y MH"),>$QH%Y.'&?F'&J_=[-&JJTM#?D&M%&-,G!<0>X%IF&>,UN*G3IY!G,9A M/A64B$V8[Y=@)(PXGCT\GQ)3_.1Y[=6+7HP&:M76#T #I=IW=I@21^]QQEX, MH^4Y?!C0]!ILZ\Y @QN"LDF>!J"'H3<85O5^T*R5I:/TRQU])U"[ -K?*+IT MH^$2'+\\B_\!4$L#!!0 ( $.$<%9(P(I;]P( +<& 9 >&PO=V]R M:W-H965T T)!"$SMOS6@KK8RW#Z - M!GQ ?/"2:VLML8/MTO'O.2==V*2N^V+?V?<\=X\=7V8[;6[L!M'!;=LH.P\V MSG6G462K#;;"3G2'BG96VK3"D6O6D>T,BKH'M4W$XSB/6B%5L)CU:Q=F,=-; MUTB%%P;LMFV%^;O$1N_F 0ON%K[(]<;YA6@QZ\0:OZ+[UET8\J*1I98M*BNU M H.K>7#&3I>IC^\#ODO"776M]XYV,]#V)?$#98.<\@:/J#;[!I/!&5 M\7O/&8PI/?"^?Z^2%KMYD'TP!J7(EMX[[HW0?*:KV^99#/OY(/L;ADU9N8^&MJK%^ M2!!1\:,"?J=@R8\RGF,U@82%I(+S(WS)>"))SY<<.1$+@\!#^@9T>ACMW]"I M[42%\X >B47S!X/%BVNJ.??=EPA;<.EHVN;GX=4G T MQV$%_FSADL$EC0ER,.RB+U!6TD![XVV M%CJC5](!*T*6I, IF-.4A1E/@"5JI*MPAI.,VF, U+7@(KPRR-R4ES M#DMA907J?V2'U&4VPB#$DSP%-F%3X!,"D\7A7#9;^FB/ PH/R+T5^^^(/:HU MG89969*1Q6&>98-1<"\ZRWOU#[7R,(^I_B1,6>J]F.7>BXOLH5:6)S06+(,D M+*8EC9R5QZ52=BH_\59, Z5^0NH X". PZ%/,KK73%HTZ[YE6JCT5KFAKXRK M8U<^&YK1__"AI7\29BV5A097!(TG11: &=KDX#C=]:WI6CMJ=+VYH3\+&A] M^RM-CW'O^ 3COVKQ#U!+ P04 " !#A'!6V=1)G<$" #?!0 &0 'AL M+W=OH%#K81 '+QNW?+ZP;B,<#99LCC.T/Y=33:MP@U+R M&J7A2H+&:AB,X_-)YNR]P3W'M=F:@U.2*_7H%M?E,(@<(1186(? Z+?""Q3" M 1&-OQUFL GI'+?G+^A77CMIR9G!"R4>>&D7P^ L@!(KU@A[J];?L-/3N9R#N.B M4(VT!@[N6"[0?!Z$EJ([C+#H(DW:2,D[D>($;I2T"P-?98GE6X"0:&^X)R_< M)\E>Q$LLCB&-#R&)DF0/7KJYB]3CI>_@?5<6#;0"=^EKO;/=WJYZSLV2%3@, MJ#P,ZA4&HT\?XI/HRQYNV89;M@]]-&N+!E0%8T&5Q&2!0#4)EZK);=6(UQ2Y MU-WB"F6#,"[_T!NB(J+]7UX9W.&3A8E0Q>/O72+WTM@MTEV_RT'LA@@F3'AV MS$*.T#$^QF9AH_0B_LT9F>9'T]@JM6*^QIW*2JRAR"I#Y%6!H+M4+-*5\'602?X2#.,O_KT3ACI).L;I2@EP97/$=" M;@R),>20]LGFB+XMIDB7]LKQ-$W?,-V5P'"KZ&K4<]]:#/@DM/6WV=UTKW%; MM*_F;>N[89KNR8# BERCX]-> +IM)^W"JJ4OX5Q9:@A^NJ .C-H9T'FEZ.EV M"Q=@T]-'_P!02P,$% @ 0X1P5G/;9;\J! ,!$ !D !X;"]W;W)K M&ULM5C;;N,V$/T50ET4">#$DGS)I;:!Q-K%!MAL MC3C9HBCZ0$MCBXU$>DG*3OZ^0TE1?)&9I%!?+%&>.9QS.!QQ-%@+^:AB $V> MTH2KH1-KO;QLMU480TK5J5@"QW_F0J94XU NVFHI@4:Y4YJT?=?MMU/*N#,: MY,\F,Y+P_NV"+6YD%[-%C2!4Q!/RPG$D?M M"B5B*7#%!"<2YD/GRKL,O(YQR"U^,%BKC7MBJ,R$>#2#FVCHN"8B2"#4!H+B M905C2!*#A''\+$&=:D[CN'G_@OXE)X]D9E3!6"1_L$C'0^?<(1',:9;H.['^ M"B6AGL$+1:+R7[(N;5V'A)G2(BV=,8*4\>)*GTHA-AR\_@$'OW3P=QVZ!QPZ MI4/GO0[=TJ&;*U-0R74(J*:C@11K(HTUHIF;7,S<&^DS;M9]JB7^R]!/C[X+ M#<0C)V1:+#P1WC2&4V. MT?UA&I"C3\=$Q52B">/D/A:9HCQ2+?)I:SQH:PS<3-\.RR"OBR#] T%Z/KD5 M7,>*?.811-L ;61ZNA4VG M6L1.CM<]@#>F*B:??V9L11/@&A6GFHRIE,]FW7[0)(,6N1>:)G7:%]B]'-N4 MB=4(8UIMBO&F16"-S]2N2[6D(0P=+$X*Y J'WW-PO[;L6^:V5_C_5. M99BZ4RW"QQ:9YBG8PM1%121$Y BSK\C+XSK^!7K?PO]-B\!FL46J5Y'J64G= MH4Q4AC'!'4,"6&&!7F*YU>3S$Y9\95O/WMYJ773<74K[1N>]7:.@QLAW#Q#K M5\3Z5F(W/#3K!::*%'?'ICI@G9$9KM4W1FO;%X*Y:_&+&83B03DDP +U&+W$&84*7RZFK> M>YBET3]8Y?.E_>L6TAG(O^L86R=\_P8KA&D2+&@(;$OH\TKH\_\_F<[WDNFD MZ^UM&&L@']6L(; MS2XJS2[^BV:_ZQ@D^2YXF$EILG%#O#K5+O;W38UJUE ^ MJEI#8%NJ>>[K0HKS#%MX1; M*A>,*Y+ '"'=TS-\BN\S$;!9%CA Q3XR"(?=WB&3+FD"R/GS5H MT.1T@=OM>_1++]Z*61"-9Y)]I9G)1\%1 !DN2*KD&Y59;--?P M4GVT)4>%VY6Y47:6VC@S_BP-0@SO8%YM"\@ES.E*T"5-B3!PFJ:R%(:*%"3M5:[V)FR!T:9NP[,F(WO !$97/PL:6&WTL#> M.1I"F=X?AL:R=QS"M&8ZJ9@FSS"-$YA*87(-%R+#[#% :&4WVI-[[9.D%?$< MTP/HQAU(HB1IP>LV7G8]WN$S>%.2YG;(FOA8]/ N6%DK?H M1&C8NT.B]#[L?;/O)_>O'7H 'J"%9*\AV?MGG\EFI\^M25[H<[^1T'\]G]NA MX]Y.HP<-RT$KU&6I!#6EP@YB@OT>N9O@.[Y8\2;E5$CFKEZ[X&7\NJ MXMB,-G>+TZJB/BRO+B93HE94:&"XM*'1P<#^-U15ZZN.D86OKPMI;+7VS=S> MCU"Y!79^*6V-K3LN07/C&O\&4$L#!!0 ( $.$<%:;K4ZPX0L /:1 9 M >&PO=V]R:W-H965TLT#")Z%9-DO5SZ\8^/-&2/ M9QVELSUP'WZZ\N?TAJ9?5EXFM 'Y.]UR0[E3O&OF5OG-E9IY=E1$,Z33.$S_\\T D-PXS$\_B[@'9V M,;.*^Z^W=#,_>7XR=WY")RS\*YBEB[/.<8?,Z+V_#M-K]FC3XH0&&6_*PB3_ MESP697L=,ETG*5L6E7D&RR#:_/6_%U_$7@55?:*"6E10#ZV@%16T0ROTBPK] M0RL,B@J#0RL,BPK#0RN,B@JC0RL<%Q6.#ZTP+BJ,#ZV@]+;_<[V#J^S^LS>- M;M-*\B:F^ZE_?AJS1Q)GY3DO>Y&WT[P^;UE!E$GJ)HWYIP&OEYY_8BDE*GE' M+J9_KX,DR-IY0OQH1G3>U),T2-**,CHO94E7RYT.^D!\F* M;11,V#WYN$YX^:1)AA^EW*P7/TE6_I2>=7@WG=#X@7;.__A-&?8^-$D'"=.1 M, ,),Y$P"PFS-[!!#LN&4 _GRF X4$Z[#_N*J9?JB27<9TMXH+2%UM[?M?:^ MM+5?^3_X4"Y-2,HVG17OE[9MG/(>Z!,??_)F/_&3Q?;SV1&Y9:D?-DE &JRM M!) P'0DSD# 3";.0,'L#&^XU7;4W'&@5"=1+C8?*Z+@B@WJIJ@Q J0LR&.QD M,)#*8-ODR80M[X+(SR[W1_NC-W)-0S^E,UX@21NO_M( ;9L^$J8C80829B)A M%A)F#VK-5>FIHTK+KQ?J:]7+_^#9RS\H;Z'=#W?M?BAM]Q>S!S]*R26=!5,_ M)/^^I,L[&O^GJ7U+06W;-Q*F(V$&$F8B81829B-A#A+F(F$>""9H:[33UNBP M/F6O&SDB5S2>\@&7/Z?9N.HK2X-H3IPHI3R!--F-L9H4* W75H$;V/'^!4Z\ M+NG/EC"0"9E(F(6$V4B8@X2Y2)@'@@E:.=YIY?B?N@TA/[?39$V:D89MJQDD M3-_ QOOR&E?TA8QG(F$6$F8C80X2YB)A'@@FZ&N\T]?X5?JR8M8\IS6N#5]5 M;=BKW-Q-&DHI:J\RT-6E*;8=IR%A)A)F(6$V$N8@82X2YH%@@C:47KE:T_NG M[_[E$=IV- 5M7U"CXTKOH$-#&E":":594)I=T/9OVT>#RI?K-!2JW=I#T_)0 M-%$#>RN6R@LT$!:3;,GRM8J4IM9:D4B:#J494)H)I5E0FEW0!$7VZX)$QG2A- ]% M$P59^@$4N2% O[@Y:()#VH2#!0UJ0VD.E.9":1Z*)LJIM% H!WHH M7C$S#[5-0&DZE&84-,&/UC^N]E)0GP649C><@#(85&E0F@&EF5":!:794)I3T 2MUJ8576A,#T43=5AZ M*!2YB>*7SLPCE]LG4)H.I1E0F@FE65":#:4Y!4VTK-?T"'5MH&CBCU!+VX;Z M$MO&A$79-"&_")L&,QODGY"*.?7X\OSWC_63V.A/EYW4Z9&15P3&M2"TFPHS8'27"C-0]%$$9:^$?4E MOI&_6/PMFZN?^*L@\^A>S/Z[3M),>HW*@AI!H#0=2C/4NCWBG:+4YRO,HJ#P M\U.EZ-)WJT3RQZQX>%*YIN M)CEV'5LB[]F@U@TH38?2#"C-A-(L*,V&TAPHS872/!1-E&+I\E!?Y_)XNF># M^CF@-!U*,]2ZGT-IZMF@?@XHS8;2'"C-A=(\%$V44^GG4.5^CB<6H'=W:+N0'_Y*:KCPF-!$+2K.A- =*42<:"H?)4)]'5":#J494)H)I5E0F@VE.5": M"Z5Y*)JHMM)2HAYH*4'9[>7Q6JL1:AB!T@PHS832K((F^2F #0WH0&DNE.:A M:*+$2K>(^KHM-UK:[>716@L,:@"!T@PHS832++6^TTGF-JYJ#&KL@-)<*,U# MT<2=FDL'B"9W@+QXLD/.;:LF*$V'T@PHS832+*WN,QF/AL.*FJ Q'2C-A=(\ M%$U44VGET%YBY6AEMI=':*TKJ),#2C.@-!-*L[2ZRT2I;MML-Q52JGL[-Q3J MUS8XAWHS4#11 Z4W0P/NOH'QVLLS:JT9J)$#2C.@-!-*LZ T&TISM/H6'OW: MJ-.%QO10-%&'>P_AD!LT?J777IY::T%BG^2!?90']ED>V(=Y8)_F ;6":'5O M3(,>H0X/%$W48^GPT.0.C_^SUUZ>36L)0BT@4)H!I9E0FE70*LV\.ML!C>E M:2Z4YJ%HH@9+:X?VDH>4/*7!(_)GX-\%89#^D$PKRD.V%AK4]0&E&5":":59 M6MV14I]5A(9TH#072O-0-%%GI>=#DWL5EBR*JBJO0^7 MYFW^2OGP-G^B8US,B<34#PE-4OXF>UZCPQY]Z?JU/(G6RH-:0Z T THSH30+ M2K.A- =*Z ,^D^*KK2.:'+KR"L>00QUB4!I.I1F0&DFE&9!:;96]YPH@]KVDPXT MJ NE>2B:^(CCTB;2E]M$7CE:/"(V#6?939V13'GP)N'),V@K/"A-A](,*,V$ MTBPHS8;2'"C-A=*\?L.&+\.G^K%^:2CIRPTE[757K*@W*@QJ+8'2="C-@-), M*,V"TFPHS>G7]TQ1%:VV+@<-ZJ%HHL1*OTI?[E?!SU62G^1F2B,_#MC1WKX] MTKE,>9*MM0FUL$!I!I1F0FD6E&9#:0Z4YD)I'HHF2KBTNO2?>;X,?BY3'K&U M'J$.%BC-@-),*,V"TFPHS8'27"C-*VB5W^=7!J/=9$%IJONI?WZZI/&<3F@8 M)F3*UA&OE8EO=Y1W=_?9[JXG%VJG6SL^44YTI>&XK9RX^?%NB3\_7?ES>NG' M\R!*2$CO>:C>^Q'/- [FB]V;E*W..GQ<<,?2E"WSEPOJ<\%F!?CG]XREVS=9 M@$<6?\M/Y_Q_4$L#!!0 ( $.$<%9AAL0*/@\ *35 9 >&PO=V]R M:W-H965TE&N_K:KFNWUT\-LWFQZNK>OZH5GG]MMRH=?N=^[):Y4W[L'JXJC>5 MRA>[0:OE53"9)%>KO%A?W-[LOO:INKTIM\VR6*M/E5=O5ZN\^O9WM2R?WUWX M%R]?^*5X>&RZ+US=WFSR!_59-;]M/E7MHZLC95&LU+HNRK57J?MW%^_]'V5Z MW0W8/>,?A7JN7WWN=3_*E[+\HWL@%^\N)MTK4DLU;SI$WGYX4G=JN>Q([>OX M\P"].-;L!K[^_(7.=S]\^\-\R6MU5RY_+Q;-X[N+Z86W4/?Y=MG\4CX+=?B! MXHXW+Y?U[E_O^?#!@0CAT0'09$8P?$AP'QV ')84 R=D!Z&)".'3 ]#)B.'7!]&+#+U]7^][?[ MY<_R)K^]JW=*Z3W8)VHUN?^?%N@O[YZ9JOUNTXYK;CV6CO,"[]-[/ M_]P6==$EL.X>UK5JZOU7*U5[^7KA_53D7XIE^Y3VPQD-$)7E:6B^=BN1R*$#FR>XOX ML=[D<_7NHGT/J%7UI"YN__H7/YG\;2A02-@,"6-(&$?"LCTLWL&ZM]2G6]\/ M)\'TYNKI=> &GC9)KR>Q^31I/RWVIZ&&&?D)C_D)R?R\7SSEZ\;[H!;%/%]Z M__R@5E]4]:^A.)$@US@A83,DC"%A' G+D#"!A$D0S$AP=$QP1";X+J\?O4U> M++R\\>;+LB[6#T/QC:P_GR!,)KV_Q;N!9_GM4;'YK!GYBEP#AX1Q)"Q#P@02 M)D$P(W#Q,7 Q&;B?FT=5>G\CBSB.@,B80P)XTA8 MAH0))$R"8$8@DV,@D_,SX'U5KKS]N_E0(A,KD9?!-.K-:W=D'==,(F$,">-( M6(:$"21,@F!&)M-C)E,RD[^637LX.6_/E(N%JO+NG'DHEJD5R\#WD[ 72[*4 M:RR1,(:$<20L0\($$B9!,".6TV,LI_3ISGQ>;M=-[55JKHJG_,M2#<5R:LSY=-H_Z*0+.H<4*F*@- ZE95":@-(DBF:& M5!L@GU9 ^_=[(I>AEAS/9A MZ.M(IKZUFDD7< XE5/I :1Q*RZ T :5)%,T,I58_/NU^]LN:Q:(]T"SNBV[Y MB)HX;0T4A-$D[<<4:H*@- :E<2@M@]($E"91-#.F6@CYM!$Z+G-N\F^GUCC] M 264ID$_G% E!*4Q*(U#:1F4)J TB:*9X=1FR*?54!O.:JO:4_:O&[6NU?#4 M:8NARR3I7ZQ!%W(.)]0,06D<2LN@- &E213-#*?V0SXMB.1Z7JZ4U^1?3P33 M5D-M,/NYA*HA*(U!:1Q*RZ T :5)%,W,I39$/JV(9NI>554[:YY.IBV*+J/( M6C^"FB(HC4%I'$K+H#0!I4D4S;P 7?NB@/9%^T7.I=[Y,)3.P)9%E_;J)EW) M^2ISJ"V"TCB4ED%I DJ3*)J93FV+ MH6?50O#M/+]SMU%H/YM!71T)5(=#'G M@$(=$93&H;0,2A-0FD31S(!J1Q30CLAI22D8<$0#2TIT2>>88K?K8/?K8#?L M0"T1E"91-#.FVA(%_]-&(>\_WMUN"Z:JO+MRW53YO-EOA?Q%+7>7?=:/Q:8F M-Q;1E1W_G^Z@M!F4QJ T#J5E4)J TB2*9F9?JZB 5E&\6!>-NORI>&I/P.2Z MR=KI^@9&2E#[J"T&93&H#0.I650FH#2)(IFAET+KH 67$XS MLBVZ C^P#IFAH@M*8U :A](R*$U :1)%,T.J15=P1G2=G)$_EIUFV*A&>>\? M*J6Z"U?/'",C)HXQ=]K&U M%@R5:% :@](XE)9!:0)*DRB:F5$MT8(S$NW]YU&=3FB,\V0+56Y0&H/2.)26 M06D"2I,HFMFS1RNWD%9N8WN>T!C7($-I,RB-'6BOWU*NXTF_<0N'%LV@- &E M213-3*C6;B&MW<;TI* 1SNF$JCDHC86V7;R,: M5= 4YX1BN_)AV_+9N]"",/;[^<0VW,-VW,.VW/M_*+%0*[&05F)DRPIZK',J MH:X,2F.A;?O2.+6..J$.#$H34)I$T&IK%=+6RKUS!0UT#BK4<4%I++0M71CZ43^J4'<% MI0DH3:)H9E2UNPII=^74N8)F.:<4*J>@-!;:^]+\(+".0J'2"4H34)I$TDQ7X:6>?N4,T$I0DH3:)H9BJU9@IIS>1T M13?-"L=[WN65^O+O-\4W2K3_GBW]NZ.:65:)AS3*%: MZ4 S[YII7\K)HH'^A>T3^P&$"B,H34!I$D4S ZB%433FAD\C%SUIEG/^H,(( M2F/1@# :6O2$5LV@- &E213-S*E61A&MC(Z-U"KUI-;;X45/J#J"TF90&HL& MVAFF_6A"O1&4)J TB:*9T=3>*'+?GH3HKT*7=8XS5#%!:0Q*XU!:!J4)*$VB M:.;]=+6(BFD1Y;)WE$:YAAE*FT%I++:%5)BD8?_B4FC1#$H34)I$T6H6NXYQ@J 2#TAB4QJ&T M#$H34)I$TF8PFU#1!J7-H#0&I?'8UG9QWT!GT)("2I,HFAE-;=EBVK*-:?]#(YRS";5L M4!J#TG@\X.P">]Z$>C8H3:)H9CBU9XO'[,\ZV_V'ICCG$ZK-H#0&I?%X8)]7 M%$=A/Z!0'P:E213-"&BB?5@R#*PU\OO-V7+H#4%E"91-#.J6C@EM'!R:OY#LYQ3"C5.4!J# MTOB!9J0T#OIG2=": DJ3*)J94FV<$MHX4?QOW-AQFTJ(#2 M)(IFQE2KH^3,K:E&M/ZA$<[IA+HC*(U!:3RQW=&E/^GO3,R@1064)E$T,YW: M'B6T/1K3^H=&.*<3:H^@- :E\63 'D7]/JL9M*: TB2*9H93VZ.$MD>C.O_0 M#.=T0MT1E,:@-)[8[NARZ*P(ZHZ@-(FB&?%,M3M*:7#IP[ZF!LWEH40&E213-C*E6 M2^F9K5 C>EK0".=T0F42E,:@-)[:,NDRZ;LD:$D!I4D4S=@0_T3E,:@- ZE95":@-(DBF;^!6A/E=*>RF7['HUR#C/46T%I#$KC MJ>VMPHE]I OU5E":1-',D&IOE9[9['1FFG;O"+:4%F].\#/5L4-H, M2F-0&C_07N^]GO9W$$(K"BA-HFC[B%[5CTHUL[S);V\V^8/ZD%=L?FNZMA7QXTY>;=A7_A?2F;IESM/GU4^4)5W1/:[]^79?/RX*KE/Y?5 M'[L:M_\%4$L#!!0 ( $.$<%9ZCHR*X@, *@0 9 >&PO=V]R:W-H M965TDD,SD#XH=Q:GO&#NWT'G+- MG)OVH=,'!=:VY@#Y)-F^_O>5@& ;L";VY24&L?ME/RNQTF:\9_RK6 -(]#W/ M"C&QUE)N[FU;)&O(B1BP#13JR9+QG$AURU>VV' @:>F49S9VG-#."2VLZ;@< M>^+3,=O*C!;PQ)'8YCGA_\TA8_N)Y5JO U_H:BWU@#T=;\@*%B"?-T]*PG%@S]SYV?>U06OQ%82^.KI%&>6'LJ[[YE$XL1T<$&2122Q#U MLX,'R#*MI.+X5HM:S3NUX_'UJ_IO);R">2$"'ECV-TWE>F)%%DIA2;:9_,+V MOT,-%&B]A&6B_(OVM:UCH60K),MK9Q5!3HOJEWRO$W'DX(9G''#M@-L._AD' MKW;PWNK@UPYEJNT*IBM\6NAY7TBNGE+E)Z>? MF02$T4BZH%'=J4%W_N69;08I4C&VIHM;OMI,ZPGD5(3X3 MH8O1(ROD6J!?BQ324P%;X3;,^)5YCHV*,20#Y+EW"#L8]P3T\'9WM\<]?KN[ M8Z#QFAGT2CW_C-XLW9%"HD=(:4(R],\CY"_ _^U+M%%(5YA[L2$)3"Q50@3P M'5C3GW]R0^>7OB2]IUC\3F(G"?2;!/K&!"Y(!KWKLG(+2C==/W=3+XC<43BV M=\>)Z)KAD>L[WJE9; SB2L2@00R,B']L@*M/N%BISSEA.?315@KA$480>GJ! MG\!VK?!PB$VJ-85T) M'370D1$ZIME6;3X78$=]V+B%W37"@ZCUE=P^'&N*_UFOTLS5JN=U)-P-/): M"S'NL_,"#T>-W2GGT2'/_>'Z;Y:X&-GM;A1!-(S:Q#UF.'2'9X#Q 1C_P"9@ M=KX8%7=GS0G"SN1VS=S("_PSJ(?CGVL^_UVZ$YCE+H;W>HKGL'WVZ;7R@S/H MAX.;:SZY7;X?F 4OAO?[X-OL?4:^UV*WCUJX'/BJ;(4%2MBVD%5GTXPV[?:L M;#);XW/=AI>MX4&FZN$?"5_10J ,EDK2&0S54N156US=2+8I&\47)E7;65ZN M@:3 M8%ZOF2J6:QO] N:?TY,_P=02P,$% @ 0X1P5K4U2$QL @ T 4 M !D !X;"]W;W)K&ULK53?;]HP$/Y7K*R:6HF1 M'U!:,8A48%,GC0G!NCU,>S#)0:PZ=F8[0/?7[^R$C") >]A+['/N^^Z^L^\& M6ZF>=09@R"[G0@^]S)BB[_LZR2"GNBT+$/AG)55.#9IJ[>M" 4T=*.=^% 0] M/Z=,>/' G@*&,J[)5]B9DO(;]'M:3,CUU0VY(DR0*>,<'?7 -YB+9?23 M.NZHBAN=B1M&9"J%R33Y(%)(7Q/X**)1$NV5C**+C!-(VJ03MD@41-&)A,;_ M#@\OI--I"MMQ?-VS?"M0"M*FL#^FD"]!_3Q5JXM4MI'[NJ )##WL5 UJ U[\ M]DW8"]Z?TOF?R%ZI[C:JNQ=5C_%.%;8FOF*3D;%[OZ!:Y#.C2\:9>6D=/[3? MQY=?5:0*$P8NCAU%FSAJX[5N#I6>< K:]XU3I< _: [,9>UFAB:)+(6I7E=S MVHRE!]>-1^&ULK9EK;Z,X%(;_BL6.5C/2 M3KE#Z":1IB7W9%0UG=T/J_W@@I.P SACG&3Z[]<00A,@B';.EP#F?1]\.SX! M=P^4?4\VA'#T,PKCI"=M.-_>RG+B;4B$DQNZ);&XLZ(LPEQ%LC] M[A:OR9+P;]L')J[D@N('$8F3@,:(D55/^J+>SIU4GPG^"L@A.3M':4N>*?V> M7DS\GJ2D%2(A\7A*P.*P)_M MP*)T24,??70)QT&8 M?!*\;TL7??SP"7U 08R>-G27"'W2E;EH2EHAVLMG:EVCI:T)AO$C2( M?>+7^*?-?E5K ,BB#XN.U$X=>:TL?UX$BE4$BM48*$^4BJ)U]@:R MP-Y&W&8OC8FMD??6Z(&$N9"P 21L" D;0<+&D+ ))&P*"9M!PN9 L(MXM8MX MM=^?V!JM;PU-2)@+"1M PH:0L!$D; P)FT#"IG8E%5FZ4GJEG55%:DTYI(]">DV(G'S&ULC]:W1 PES(6$#2-@0 M$C:"A(TA81-(V!02-H.$S8%@%U'K%%'KO#^Q-5K?&IJ0,!<2-H"$#2%A(TC8 M&!(V@81-G>HG2KO\3716%>F:67Y;JR%IE<0FGVU!182MLXW5!'ET%_/CY^>B MM-B[_9)M897*[]3;B5I3/E5OY\>MV5?\<:-X@9G(D@D*R4H\2KFQ1579,'I-ML >Z:&ULI99? MC]LV#,"_BF#TH05ZY_]V4B0![G(M6F =#G>[[5FVF42H+:62G'3[]*-DQ_'9 M3M9M+[8ED]2/%"EQ<13RF]H!:/*C*KE:.CNM]Q]<5^4[J*BZ%7O@^&D&GI>X%67<62WLW*-<+42M2\;A41)55Q65?]Y#*8Y+QW=. M$T]LN]-FPETM]G0+SZ!?]H\21VYGI6 5<,4$)Q(V2^?._[#V Z-@)7YG<%2] M;V)HG+4MDG.;:RGD/R6FE1M MO.F/-A ]!3^YH!"T"L%0(;J@$+8*H76T(;-N/5!-5PLICD0::;1F/FQLK#9Z MP[C9QFZ4 JT(Y07Y MA=&,E2@!BKQ] $U9J=ZA[,OS WG[YAUY0Q@GO^U$K5!:+5R-F&8Q-V^1[AND MX *2'Y"ON.Q.D8^\@.*U 1?]ZYP,3D[>!URQD#^;G85>P44= M7'05[B[_7C,#AYN8U0K_*D5R466,4Y,4DQO:F$QZ(-X =2R1S*=!XPXTO@KZ MA>=X;BE,P@+35@N$Q,.E &DQ,;8YX %1D(T455M)("?IXS%;& YC/1:*/.]" MK)/.A>2J"Z>:DTW-_35,]@8O&:U\$X?A,, 34G[J)]. :0>8_D.F-C$^A5C1 M$HC88'V66)GD$\M 3B&G$\AI/" >"WG3M+..=O:_ZVHVWL8DG0_()H3ZQ?<* M;M[!S:_"O7 \-$N$>[*)2;,2,_>&9+!EG#.^-6'=@V1B,@?F(Z(T&D"/18+4 MGV;VO?/MX/V[(I.CE'U/N-!X6AP$R]$]4XC7BJU=L,\9)G$X<&9"RI_Y\05W M>I>=_U/Y?#XS6M26'_=ADMD?YW,8Q<,C8DHL\/S@ G5PI@[^2^H WL57DZ8U M&[]*B>&Y,2'42ZV&V.WU%QBLK6V[S*U0<]W&PO=V]R:W-H M965T MWGUVDP&L3>Q<[$#[[V_LI $20[M2OT 89V8\]LQVHOHI-P"*/!4YEW-G MHU1YY;HRW4!!Y:4H@>,O*U$55.&R6KNRK(!FAE3D;N!Y8[>@C#N+F7EW7RUF MHE8YXW!?$5D7!:V>;R 7N[GC.R\OOK/U1ND7[F)6TC4\@/I1WE>XJ82ER/]EF=K,G8E#,EC1.E??Q>X+M()& MVEXJ@Y):ZE$T9+1@X+QYIL^M8$X(/CC$X2@)01]0G2"$+:$\*V$ MJ"5$)C*-%!.'A"JZF%5B1RJ-1FOZP033L%$^XSKO#ZK"7QGRU.*;4$ B MZK+, 3.J:$Z65&[(+=8$N>--;>D<(0C++JMS(&+U%L+'!!1EN?R$U!\/"?GX MX1/Y0!@G?V]$+2G/Y,Q5*$*[XJ:MPS>-P\$)A_V ?!5<;23YDV>0'1MP47T7 M@N E!#?!68L)I)^$)>R83)649 MP3Q+;\",[7_>9*UG2%.8.-A()U1:^_^6/O#UMLWM-8\D[&CN(6=7&+ MSEE?W'$%:%79(M8P1X:I&^EV$<0ZU]O#2 Q!H_ 8D@PA\=[*D=>CSNO1*UZG MH@"BZ!/(SX3C.8$[$SMG?6)O-=;&!Q[X(1X1/2E#U&CJ1STQ0U 034[(&7=R MQF>+]YO@%ZDN8,:WF O&UP2[!%DQ3GEJ5OJ88(J!M);V^#U+^SV-)>]D["BJ M<1?5^&R1+&G)=).F6<9T7Y88QK2J(2./M2)<*/*,A:-[ABVF\;!D@E&O8"R8 ML(=)AIC@P,Z1L$DG;')6V'4K(\4# :L#CR+]*%D&E3F ;'(F0U>CT7C2$S1$ M3>.PM^.3(J9G]=SKW*.(+L#U[JUIT-A MGA?U6M!RB)I&<=P3-@2=$.9[^VN&=U;:K=G"0'+ 2QJI]&U,"ZQQ0:4$NZ36 MIMV11H\%XD_Z>FP@;W)"TL'-R?\%23FCCRPWK3H"]LB#I5=?N[D'_VRC!0]5J2PL$! M?6&18T'9] QA?3WNP;V]@&IMYA^)/:SFJKF_=F^[&>O:3!:]]S=Z]C+SP-Y, M,[A]I=6:8!1*)PUS.,&YT>H- !_7PF<$-J% M_H-N(EW\#U!+ P04 " !#A'!6B#4F.DT" ",!0 &0 'AL+W=O* MZ%U=4_7O%K@\3+W0>UY8L$UE[(*?9UNZ@268A^V]PIG?J92L!J&9%$3!>NK= MA->SQ.(=X#>#@^Z-B8UD)>6CG7POIUY@#0&'PE@%BK\]S(!S*X0V_K::7G>D M)?;'S^I?7>P8RXIJF$G^AY6FFGICCY2PICMN%O+P#=IX4JM72*[=EQQ:;."1 M8J>-K%LR.JB9:/[TJZ!>MK=O& M5O2&K3D4ER0.STD41-$ ??9Q>GA,]S%!79:B+DN1TTO>T+LI"KD31N.]?8[[ M\Z=Q%(9?C*(E#,77"*9.T+;2/D_3<1ID_KX?QFM4/)D$<8U:]HZL==_8;L-HI7/2,7HSA^X78 E(:38;-)9S9YUVSO)IT3 6;(7#*0 MRS &PO=V]R:W-H965TS5/Q_$E2AC_A6UEVPP@*8Q5>04F!3F7Y9^]57'8 T3=,X"X L2'@/890*L" MM+RCI3+OUI19-NQKM07MK(G-#7QL/)J\X=+=XMQJVN6$L\.?RB)TH '/F"#? ML(5 TRF,!)TP4PF")0J,-&8<@L_E#&TWX!Y>>F@E@>&4U4L[+(0,$H254AK MX&J*EG%AK@GV,I_"U9=K^ )EZOB,ZBB&)R5M M9N"K3#']2!!2".HXQ+LXC..+C%-,;J$5W4#@-F"!*RXEERL7[35JKM)3$2L).Y[0O=W-L!/=]\/-OA/'-NV[=FWS06F[ M5MJ^J'2FU8;[-^VN']_6]#XQA:1,&.$3YI3O>GY79J MN9W+@@')1P5;8.0%@A6@6$"G=HG)>A!P"-?(-6WPA#,G!3> M/1;5.DR78YOF:=6]6G7OTVF-5&0N)G3O*%E[K<,,.;;93_I28[A7'7/4*]\T M#/CR5!:(>K7N2R-?C@_6Q]2ORO;R3E,VNR>FZ8T:$+@DRN9MCQ3ILH&4$ZO6 MO@8OE*6*[H<9]5S4SH#VEXKJ<#5Q!]1=?/@?4$L#!!0 ( $.$<%:V(##M M40( .P% 9 >&PO=V]R:W-H965TWZ[,!-L&IL9CNA_?O:AC+:T*@OX&N?J75]Z?LJ+Z$B:B)JX&9E*V1%M GESE>U!%(X4L5\ M' 13OR*4>UGJYFYEEHJ]9I3#K41J7U5$OEP!$\W""[VWB3NZ*[6=\+.T)CM8 M@WZH;Z6)_%ZEH!5P105'$K8+[V=XN4PLW@'^4FC48(QL)ALAGFQP4RR\P!H" M!KFV"L3\#K $QJR0L?&OT_3Z+2UQ.'Y3OW:YFUPV1,%2L$=:Z'+AS3U4P);L MF;X3S2_H\G$&<\&4^Z*FQ"C?*RVJCFP<5)2W?_+(#9N+>FM)2>MW0M-V/];/.8M.3JN)$JBZ0=SQZ@HB@>HUIT_Z$7[#OXF MY0@RVAA=,9D9 MF]+&VA1N_;<"&V:W0U+\QR#M "SOA6F1;O =GS_P&>O M4$L#!!0 ( $.$<%9/C\V'G ( *L& 9 >&PO=V]R:W-H965TY9ZWC<"/FH"D0-ZY)Q-?$*K:LSWU=9@251 M U$A-SL+(4NBS50N?55))+D#E5X(T'594GD MSQDRT4R\T'M>N*7+0ML%/QE79(EWJ!^J&VEF?L^2TQ*YHH*#Q,7$FX9G:6SC M7*SQ'QBR12>.IX_3Z(RUP<_S, M_MG5;FJ9$X7G@OV@N2XFWD4,9 \)S^*8+E'#%->%+ M.F<(4Z50*SA,41/*%-SC6M>$'1G@PUT*AP='< "4P[5A,.U48U^;Y.P1?M8E M,FL3B78D$D9P+;@N%%SP'/.7!+ZIJB\M>BYM%NUE3#$;P# \ABB(HBT)G;\= M'FZ!IV^'!WNJ&?:-&CJ^> ??K%9F12F89D\U5=3>FN.^:\=PL:[,5<(<[LD: M4LQKS[U=YQI\YH7JW/C!.WQOF'IK7Q M:R*7E"M@N#"4P>#4M%^VUMA.M*B<6&PO=V]R:W-H965T M"BWAC,!MXKH M;5%0]3(%+G%^[8.C=VP1\/-W0-"S#WFUN%,[_VDK$"A&92$ 6KD3<) M+V<#:^\,?C+8Z;TQL9$LI7RPD^MLY 46"#BDQGJ@^/<$,^#<.D*,Q\JG5S_2 M"O?'K]ZO7.P8RY)JF$G^BV4F'WE]CV2PHEMN[N3N*U3Q]*R_5'+M?LFNL@T\ MDFZUD44E1H*"B?*?/E?GL"<(XR."J!)$AX+N$4&G$G1._ Q[CKXZ#7X M:732XQS2"]()/Y(HB*(6H-F_R\,3.)WZ772H?5K;&Z)[$FZ>.6*YJ35)9+)F@ M-A4U.5L $'>3HO,V^M)_O(>5A-W@@+UIU(N#.&EG[]7LO9/L\\G"U1%[35.Z M88;B!<]^8UYA)3)MK+T&1CB(#U";-D$[9EQCQG_%M(798B[+6T#*(JX@Y51K MMF*I.^PVY+B!\RGJ=@Z8FT9'F).:.3G)O*!8%S#G;R3';"17; FJC2YITH5) MTC_ :UH=P>O7>/V3>%CDL80+K*%*@4A?B%%4:'[T$/LMF(/H@+)I=(1R4%,. M_C?E!\V4#SM!='AP+6;O*T/)Y>^UB +4VG5.F\98NM+!^A2; M=MECW]R4'?^&JC7#:L!AA2Z#BP2A5-E%RXF1&]>(EM)@6W/#'#\\0%D#W%]) M+"'5Q#Z@_I09_P%02P,$% @ 0X1P5L$ W_%"! GQ$ !D !X;"]W M;W)K&ULM5AK;]LV%/TKA%8,";!$(O7.; .)LW4% MEBQHVA7#L ^T=&T+E427I.*FO[[4(Y(?E)+.SA=;I.X].I?2X2$Y6C/^62P! M)/J:I;D8&TLI5Q>F*:(E9%20+4ZPXT+A*RE*36)9G9C3) MC1*+*,\L-]LEC*LL.'QI0(WVF67BYO43^N]5\:J8&14P9>FG));+L1$8*(8Y M+5+YGJW_@*8@M\2+6"JJ7[1N8BT#1860+&N2%8,LR>M_^K49B(T$XO,Q>LD31'-8_277 )'[W))\T4R2P%="@%2J+!KF"=Y(N$L5:,?:T). MKD'2)!6G*OCC_34Z>7.*WJ D1Q^6K! *7(Q,J8B7CS>CAN1539+TD,0$W;!< M+@7Z+8\AW@8P5<5MV>2I["LRB'@-T3FR\2^(6(1H"$U?GHX'Z-CM6[ K/*<' M[RUG0B":L2*7NN&IL]TJNQ3FP\3W?=L=F0^;G#51Q/7\-FJ+FM-2IM*X)<)M]H*4 =S1K)VR!P%MJ^LT-3$^6$ ='3=%N:[B#-6S7CS6A* M\PATS-R]H?$"V\,[S#11OANX>F9>R\P;9#:M1*SD]&E29NOEC^G\RMRH+VLJ"@Y0:[']"+MZ3 M@":*V"30?VAA2RT\FE+#?0WZGK<[H6BB',?I42JV.LNQ#M%JD[TY.J[O6N$. M.6U8$'@][#8,$0^R4Y:F%A5JE5'0%-UQM6#B\M%$'SB-(:<95 9YQR1-A"6>WOQ$$Q?=1*_$A@VR/0&30^S*&Q MQGPM;U?WFB@G#)V>3[:S:'P\C\8:^_6)OTM4$X7]'B?$G4GC@UP::PS8MO>X M[45"< D7E M"ZRW?VUO>\IP6>VM=_JO\,6T/BOH8.JCBQO*%TDN4 IS!6F=^XH2KT\#ZH9D MJVI#/6-2K>RKRR6HU0$O ]3].5.;ZJ91/J ]DYE\!U!+ P04 " !#A'!6 MY]R%UD\" S!@ &0 'AL+W=O56 M *ZLJ*5^& 2IWV+"O+*P>S>B+'BG*&%P(Y#LVA:+EP50WL^]F?>Z<4LVC3(; M?EEL\0;N0#UL;X2._,FE(BTP23A# NJY=S$[7^0FWR;\)-#+G34RG:PX?S3! M=37W E,04%@KXX#UXPDN@5)CI,OX/7IZ$]((=]>O[E>V=]W+"DNXY/07J50S M]W(/55#CCJI;WG^%L9_$^*TYE?87]6-NX*%U)Q5O1[&NH"5L>.+G\3WL",+P M'4$X"D);]P"R52ZQPF4A>(^$R=9N9F%;M6I='&'FH]PIH4^)UJGR.U> ,O09 M?>&\Z@FE"+,*_5 -"'3-%&8;LJ* +J0$)77:5:.6"T7^8/MF>>U(/5Z" MPH3*$W2$"$/W#>^DMI:%KW39!NZOQQ(70XGA.R4N87V*HMDG% 9AB![NENCX MZ.2MC:^[GEH/I]9#ZQN_XZOM(EBI#L(DZ/.:Z]$P!F;23/\3 MY5]02P,$% @ 0X1P5L*:ZO=4 @ ?P4 !D !X;"]W;W)K&ULC53;3N,P$/V54<0#2&QS:;D(I9$H8;7[ *JX[#Z[R;2Q M<.Q@3RCP]6L[(5M0B_H2>\9SCN=X,I.NE7XR%2+!:RVDF08547,1AJ:HL&9F MI!J4]F2I=,W(FGH5FD8C*SVH%F$21:=AS;@,LM3[YCI+54N"2YQK,&U=,_TV M0Z'6TR ./AQW?%61-R&ES&%_G8Q?N M/QS79F,/3LE"J2=G_"ZG0>020H$%.09FEQ>\0B$<,ABL=<'/_P?[3 M:[=:%LS@E1)_>4G5-#@/H,0E:P7=J?4O[/6<.+Y"">._L.YCHP"*UI"J>[#- MH.:R6]EK_PX;@/AT!R#I T8YH)) B9+N'YN>6-K M3'"8(S$N##S@*[5,'%G$XWT.AP='< ![P^/ MOE$S'BHT]GR3G7RVGPO.7)L<@[4$=AUC"W19*TW\O3^[5;+1JFR+SGQ0Q,2V M>G3WQ9&_T,V%E^QL=)*&+YMOM#4H_AR4=T$GFS%#1"(&ULK5?;;MLX$/T50BV* M%D@C43?+J6V@<1IL@4UA-&WW8;$/C$Q;1"51)2D[V:_?H:3(UL5JO-!#8I*: M.3XSQT/-S/9<_)01I0H])G$JYT:D5'9EFC*,:$+D)<]H"D\V7"1$P59L39D) M2M:%4Q*;MF7Y9D)8:BQFQ=E*+&8\5S%+Z4H@F2<)$4_7-.;[N8&-YX.O;!LI M?6 N9AG9TGNJOFA>'JV1#N6! M\Y]Z\WD]-RS-B,8T5!J"P,>.+FD<:R3@\:L"->KOU(['ZV?TVR)X".:!2+KD M\5]LK:*Y$1AH334,#!*6EI_D ML4K$D0-V3SC8E8/]4@>G"G%E^XHBA []%*P$]#J*<+M(I)JA!)U^C3KYQEH)GJ/K]H&;R]H8JP M6+X#T^_W-^CMZW?H-6(I^A;Q7(*MG)D*^.IO-<.*VW7)S3[![8:&E\C!%\BV M;+O'??ER=]QT-R%+=:KL.E5V@>>>P#MD(#MD@#YGH"^\$L\K\'0][1886[[O MS\S=<1@]9K8?.)/:K$'7J>DZ@W0_AF&>Y#%1= V_:ZCQD)&RT?47KOV=[4;3'O,9M8P+V?N5LS=P>9?X';*VLF^_>Y=CM4O,":V"W" M/5:^YT_[^7HU7V^0[Y]%1N&O6'Q.@/N.:IX2_7U'DP@CH/PCGA\1FT- IXKU$A@C=BQ=7A!6R-+50$V;CG/I'M'P@B.Q%.K01A2:QCR7+G&0FLFX- EX+';A JPH9=M.QW!NF83 M>^H[)Q0[] EXN%&XS47*5"[H!;IECWHA2])+GF2YHF*XU(;1SQ9O)+1F+@Z= M!QYN/?Z'>-V6PG>M]KNLS\KR[!/2'1H//-QY+'DJE>.S>HP+T&F74:11[K!S/:3>VYM'@I:?>.R*V+)4HIAMPLRXG MX"_*0;+<*)X5L]@#5S#9%-]7 _4O?7D;P3>_+ Q;=T2:E$CW&4I*>#I92KX^$P M#98T)ND>7]%$7;GC(B92'8K%,%T)2L+<*(Z&V'$FPYBP9# ]R<]=B^D)SV3$ M$GHM4)K%,1%/9S3B#Z<#=_!\XH8MEE*?&$Y/5F1!9U1^7ET+=32L*"&+:9(R MGB!![TX'[]UC'Q]I@_R.+XP^I(W?2#_*G/-O^N!C>#IP=(]H1 .I$43]N:?G M-(HT2?7CKQ(ZJ-K4ALW?S_2+_.'5P\Q)2L]Y]#L+Y?)T<#A (;TC621O^,.O MM'R@L>8%/$KS?]%#>:\S0$&62AZ7QJH',4N*O^2Q=$3#P!V]8(!+ [RIP7YI ML-\VF+Q@,"H-1INV,"X-\D.\XCDDQ/!'] 0M^M:/I'[OW<6OF+)?I% MF4FAKC)E)Z>_<4G1$=I%'IU+M.5125B4HEOZ*#,2;:L+GV<>VGJWC=XAEJ#; M)<]2DH3IR5"JUC5C&)0M>45+^(667(RN>"*7*?*3D(8F8*BZ7?4=/_?]#%N) M'@WV$,8["#O8[>C0N=W\@L[WD.-J<_>PZWDV:'T_-\>XP]S?W-RU.&._$G(_ MYXU>X%WR9+%[2T6<*[F#;KDD44>WSJP8/2X=IRL2T-.!&GA2*N[I8/KS3^[$ M^:7+PY PKX"-X.ZGX['C."?#^Z9;@9HTG#RJG#RR.OEC(JFB2G1#5-C, M'L@*_7%%XSD5?W:YV@KKZVI(F <)\X%@AB+C2I&Q51&/"G9/]&2S@]18IN8> M$J'W,<\2V:6(%=97D?':^ZJFY_;[ZA5W39IO]<':2PW4+\.%D\J%DXU=F \@ M_ Z=JY%:J$D<;7VE1&QWN=(*[>M*>P_'Z$GUHG/.@>R%#P0S5#BH5#C86(4+ M]DA#9 PV70I8@7T5*&"NVWA/G3T''[3>9L@V?2"8X>_#RM^'WSN4H[_1)[FD M0@THB5J1"Z5*LE!R!#RF:,M_5(OTE&Y;1WYKVWVE@81YD# ?"&8(>%0)>+1Q MP'Q0&1':NN1INHU4]F%,"M2V&+(VT53UJQQM#X!C:I;#*>Z M3IT/.#\<%^>9$#21Z)*1.8N89#2U1H.]R;YN!J5YH#0?BF:*UTCFW,TG$<($ M^D*B[-4@L$-[RP-)\TI:,P[::Z?REF88[#9CQ?0EKGV)K;Z<9?.4A8R()_0A M(X(DDHNT&0LS&O D5(M-JO-9I+)B=*,"1X5-B,X%#9E$[Q>"TEB'BC4\K!WI M[7](F@=*\Z%HIJ1UBNS:<^2\QO$Q2:7(M"@Z1@)JR1;<]8S4W5]?XI_;F^WM M;I6S'\?,JD&H^24"U?=VRO.6A6#$KSW/4D>SU[AFK2='R=/[NO)="M8<58 M0^V@63$G7%,1J,MDT9G,V=OH+0(DS2MI[>1PC-LZO$4"[=89M&M/H=]FQE9V M9Q'G^O<"S99TL=BP=RPNF()B[/8/O6#YO"@- ^4 MYD/1S'>CSO9=>[J_%J-G)&4IFN5?UW3.^(4(E>L__?(I0\OAZAH"4"4)H'2O.A:.:WO+KP@.V%AQ^/T+*! MPU8)LQ6>]F[TE0"4YD/13 GJ\@&VEP_>+#RO!8OI=TV0]A[W#3]0F@=*\Z%H MIO9UN0/;RQT X8<[)TAG;8*T]Z2W"J 5"BB:J4)=H<#V"L6_'8$;3(#V'O>. M0-!2"2C-AZ*9VM>E$FPOE0!$X&A] FS''FAA!)3F0]%,_]?U$VROG[Q9["F[ M3%U6-]_SZ%Y_2RSOOB"!_GSR9(\_T.H,*,T#I?E0-%/_NHR#[66<2W7<*)X] MB[-3C9)G7"AHKA]1_5#7.O6:K%6LCCIJQO;.]!8"=!\$%,T4HJ[CX/^HCO,< MB'D]^I*3Q!YXH+494)H'2O.A:*;>=6T&]ZS-O/)9IL0UR_&CK@@#K<. TGPH MFNGQN@Z#7]L[T?+X-16,ARQ U^2I/"-8$K!5]\<:O+[SP.T0 +38 4KSH6B% M ,/&!NR8BD6^\SU%@7Z#B_W,U=EJ=_W[?$]YZ[SG'OO%'OD:4VS9OR)BP9(4 M1?1.(9V] ^5\4>R"+PXD7^7;O.=<2A[G/Y=JX4B%OD%=O^-+2R--%JA32H3@K%]F/;!36Y; M"\?.;+<%:3]^=A*L]$$&4[\D?IUSS[G7EIVLN7B0"P"%'@O*Y-!9*%5>N*[, M%E!@><9+8'IFQD6!E>Z*N2M+ 3BO0 5U_5XO=@M,F),FU=B-2!.^5)0PN!%( M+HL"BZ=+H'P]=#SG>>"6S!?*#+AI4N(YW(&Z+V^$[KF6)2<%,$DX0P)F0^>3 M=S$:F/75@N\$UK+51L;)E/,'T_F2#YV>$004,F48L/ZM8 24&B(MXW?#Z=B0 M!MAN/[-?5=ZUERF6,.+T!\G58N@,')3##"^INN7KS]#XB0Q?QJFLOFA=KXTC M!V5+J7C1@+6"@K#ZCQ^;/+0 7O@"P&\ _FL!00,(*J.ULLK6&"N<)H*OD3"K M-9MI5+FIT-H-8::*=TKH6:)Q*OW*%:!S=(K&,%7Z-^%L?JI %/7 \1@4)E1^ MT%/W=V-T?/0!'2'"T#6A5)=!)J[2*@R7FS41+^N(_@L1QY"=H< [07[/]_? M1Z^'>YMP5WNW"?!M OR*+WR![QM7F")J;>?:]CY3-4M4L9BCL4JC*'%7;>&= M@QPX;@;41=-H8+84 IE#)A3D>^QS4!''+ MP6FXY2#8,=E:LJ$KM+K"3EV3C<2>('C,Z#(G;*XW]S\5ASN*(V]+<;BCN._M M5QQ9Q5'WAC!B)QPS]/,:BBF(7_ND=7*\OM:UB0.1;=B-K=WX(/L_WJE%$&_5 MHC/0?]KH6QO]3ANWL.)T9?;52$!.%+K"&:%$/=DJHC]HHD&(SYZ7=-6W,]I; MZWL@LHW$#&QB!@>I[V#G('GG6_7M#/16&V[KSC+OA6LLYH1)1&&FZ7MG?2U% MU'=PW5&\K*ZQ*5?Z4JR:"_UL 6$6Z/D9UU=9TS$WHWT(I7\!4$L#!!0 ( M $.$<%;B+K/W^P( ! + 9 >&PO=V]R:W-H965T5\1Q2(B_X C*] M,^4B)4HOQ!>(+E,4R+>KH#Q M]87[)L"> M^$%A+;?ND6EEPOF+67Q+1HYG*@(&L3(IB+ZLX!H8,YET'7^*I$[)-(';]YOL M-[9YWI3I.1=^Y C1 YV@,$Z4OC_IK3Y8,$)^B.Z*6@JHW=#H&12B3G] ) MHAEZFO.E)%DBAZ[2)9A$;ES@KG*IXW=%M8>51X$*M; MLKK[6$$=J_L.5E"R@GVLL(X5[+(ZC;"PA(6ML%N>S&?HB2O"ZNCA M#CT(&NF]DMYKI^NU4?BU@(0J].L.T@F(W^@O>H 59RN:S39[-R2FS/P(-H?J MBFRE&6.]E L2P\C1SBE!K,")/G[ H?>Y1?K]LI?^4=+O[[RXAI-"H/5TZ%VZWJ8.47>0XMH+(OW.Y? MEGW+2=8JZ?8D1VH:5[Z']QI?K:KQ>YP/5]:']WI?K;9QC?DUXRKSP^WNUZCO M7;=KP55NA]OMKE'BO1VF0%80[H_2G78T^Q,%-4.01'_P!0 M2P,$% @ 0X1P5DZQ_?&B @ ; < !D !X;"]W;W)K&ULE97?;YLP$,?_%0OUH976\AN2BB"UR:;M85O5KMNS Y=@%6QF MFZ3][V<;BM+@5-T+V.?['I\[XW.V9_Q)5 2/3#?=D6TEMNU@"76M RF,OT-,9_RD%AZ.7Z-_ M,;FK7-98P)+5?T@IJX4S<;9'7'NK:'I@:F/4 M*AM"]2X^2*Y6B=+)_ >3@'P/7:*;HN =E.CSL_I#! B;Z7P%$I-:7*C%QX<5 M.C^[0&>(4/2K8IW M!29*Q65CNT6 \%M3Q"<(%A!<85"_Q,*O""PR)C MTQNP< 0+WP?K. C"2V)\6ORB.H6T_DW1A-&?S69'B5B< MXL2>1SSF$;^;Q^MAZ \E<-7#UEB"E3&>?#Z,YN$1X]3)#R+?#IF,D,F[D#]E M!=Q&E$QW-IT'1T06IS"-_;^XEDK6F/:R;5OIIAI:Y#X-I!K6^8:I'# M1'?<\8+-_P%02P,$% @ 0X1P5L" 1RQ[ P >0T !D !X;"]W;W)K M&ULK5=K3]LP%/TK5H8FD!AY] EK*U$"&Q_8$*]I MFO;!)#>-A6-WMD-AOWZV$T);VK1E_=+$R3W']YQ]"1O**(4,RP,^!J;?)%QD6.FA&+ER+ #'%I11-_"\MIMAPIQ!SSZ[%(,> MSQ4E#"X%DGF68?$\!,HG?<=W7AY803H-0P MZ3S^E*1.-: ?!]]0NWUR':W=E#.X@P=)/R7&(6RYZK=!*&RHW* M"8?%A,&2"?T 77"F4HE.60SQ+(&KLZ\D!"\2AD$M8PC1 6KX^RCP@F!!0B?K MP_T%\'!]N%>CIE%]D(;E:R[E2T (B.V'.)82E-Q'7P27^G+#%::++"\H6Y;2 MK/3'P6&SH[UXG+;A;5 GZ,X%A;7)F4WH2(YQ!'U'[S(2Q",X@X\?_+;WN49Z MLY+>W%SZ':8YMEO$,=6;%&81+'*@^4:<-R?_;83?F1-?F]X[Q;YT'[Z!)$!$PM\JI( MI#OMU8$I_1F[U@D*5P3-&-&NC&C7&G'+A!8\8N1O60E#8) 04PMZQR!LA(:8 M+BN#]LHR6!D1UJ;WSBKH5.([]4M ?T2I2%0L@5RE7!#UC'Y=0'8/XO-D37Q)V"QR+9Z>.#YAW9'M_\*2_]9:DDV MM6M+9#-V'59V'=;JU3V4[I#8!F57R[=IV6V3+-P2V8R/OO?:3WG_5W@K\+KR MNFC-\JNGVM2W;;$5QKE3/6D&8F1[>XDBGC-5]';5T^K\<&R[YKGG0W.NL+WN M*TUQ*+G 8D281!023>D==/2N+HH^OQ@H/K:=[SU7NH^VMZD^&X$P ?I]PG7W M6P[,!-5I:_ /4$L#!!0 ( $.$<%:[?$$4E , (0- 9 >&PO=V]R M:W-H965TM%*VP&;[RJ)U E;M1== MC3K3W6L/. DJV%G;F4S_?8UA"-@.&LU-@N%]CY]C'V.S.C/^2QP(D>"Y;:A8 M>P[[AJ^6.4 MJFX)%36C@)/=VOL,/Q4PZ@Q:\6]-SF)R#;I4'AG[U36^56LOZ(A(0TK9A<#J M[XEL2=-TD13'_T-0;^RS,TZO7Z)_T1*2M8-9$;0U[?_Q\S 0$P-,KAC08$"F(;IB M" =#^%I#-!CT4/M]*GH<"BSQ9L79&?!.K:)U%WHPM5NE7]-NWN\E5T]KY9.; M?Y@D $+P$7RC)6L)>,#/\\8=9T^UGN;W!9&X;L0')?AY7X#W[SZ =Z"FX.' M3@+32JQ\J9BZR'XY]'_;]X^N] \1^,ZH/ CP-ZU(-0_@JV3&C-!+1K=H,6)! MRAL0PK\ "A!R &U?;X<.>_%Z>["033C.3ZCC1=?BJ6D0LBY=(]L[8^WLUO?3 M)HR2.%KY3]-T;16"*(CGJL)6P01EX:B:P4&2.%YF'RG\DZIU*5''KEE3KX/BR#ESIQ!9&C%*8&>G8*M=4 MV*J%J4C&M)+EJ2 5X;AQL2=V?Q"%)KNMBM,\--!M$4+H"GDZDJ>+Y/<22^+B M3NW.PB WL&T1#)%91+8HCF,W=3929V\M_!Q!@VMKJU((S4*Q12A-,S<_#"Y[6?#6(A^>_.T=$%';VU MW ?G?$A-=%MCEONB9$Y]V5OA\N;:5WQ!=D35?.6$#VWX*,HL?H<,IGEDYF#+ M8)A*RR<+E7;;/XK4[U1!LMM,'.3+?FPY9'$)K'=@JE$.SFOS)\;0E?*^/ M^0*4[$1E?ZX;[XZ?$I_U =JX?]M]8NAC[R5,_WWR'?-]305HR$Z%#&Y2A<3[ M(W_?D.RH#\&/3*HCM;X\J,\DPCN!>KYCZB \-+H.Q@^OS1]02P,$% @ M0X1P5N UOBKE P T T !D !X;"]W;W)K&UL MC9=M<]HX$,>_BL;3%\G,$5O"8-,!9EKH]3+3ZV62M/=:F 4TE2TJB8?TTY]D M7.-8LB]OP++_N_KMRM*NIR)U"'/J7SY"%R< M9@$.?M]X9-N=MC?"^71/M_ $^MO^09I16'M9LQP*Q42!)&QFP0?\?H$3:U J MOC,XJ<8ULJ&LA/AA!_?K61!9(N"0:>N"FK\C+(!SZ\EP_*RB$KPUI23>=3*4Y(6K7Q9B_* MW)36)AI6V&5\TM(\9<9.S[\*#0AC-$#W129R0,_T; 9+V("4L"Z''Y0"K1 M MUN@+HRO&F6:@T,T2-&5;HY?FXCZ)I>&S2NIIA>M6\0AK62,->I/OB"(46\@5E=,\TY>P7M1O"AWCQ M-&Y.'XU:B*XFB<9^Q+A&C'L1%R(WIXPJL=!>BJVDN3>%L3,WP:2=0U>$TYCX M"4-*&]&C&J9]Q7#..>QF_@*%#O-IP M+SZRL;N^9)*VT%P1B4GB9TMJMN1_7D)-BRU;<4"T/!Q\=(F[<'A(6G2N*$TZ MX-(:+NV%J\\N"6:K',#'EGK8<'MKN*+A>.1GF]1LDUZV?_0.I ]HXIFKG2M7 M@SM2A:/K\1_U GV60BE;]RXIT^:X[U[1RE>38!(G;4R/*B%IQX[%C4*%>TF_ M4WZX'"F4F^:#%IEW92LOS=G;F]4C&71F\EHJ<'^M^&IZKK?FD;PICZXJ(5TO M(+[6#]Q?0#Z=,S!++C;(-E=('$&6N.8P9.7M#3N;"'KHW9(Q($GJX'MD<9SB M#OYK<<']U>6S$.L3X]R+YA:+ 8GC]L;VR=]]1?+RYWYY )I!>;Y1I@NO!K8 MIK[^B)O_!U!+ P04 " !#A'!6&:Z9NM8# "(#@ &0 'AL+W=O:N%O? MJY0R>!9(YEE&Q-L]I/RT]+#W?F-+=WME;OBKQ8'LX 74]\.ST"._4HEI!DQ2 MSI" 9.E]P9\W>&0"KM+SH5MI.1AZ)<*IZ5SCJ"C++BGYS+A;ARP),6A[!T")L.;3,,2X?AK0ZC MTL$NM5^@V'78$$56"\%/2!AKK68N[&):;XU/F^+"<.6"7&( MGCA3>XD>6 QQ7<#7T5<(X3O"?=BIN(%H@(;X$PJ#,'0$M+[='3O<-[>[!QTT MPRHA0ZLW:M'[/G@9H 1B$"1%4A&5*R[>D-!9<"UV(3:S8F:/'U?!P& 10Y@_R$F#[%>%*QZ;OH%1@D5+G "F&,:_$$P["! M-G)$'8P::&ZM4>B&&U=PXTZX)R"I1(3%")@"H3<$TP>B$V;\,OWY[1#0[ MZ/K Q3)W+_BLD9=Y;^1=%K7(<7#YL@:=L3^<(Y#R^IR32+]D\#.GZ@V1$Q&Q M\S4K9;O>LWZ334]P>@?V;"1\54+@6T!UQ:"K46DK!"<7OBU9;7;-7=2O5^<) M+SQA)\_?:@_"21#>%-FZ1U\?FY.6TZ_?LR]KESH#=Q<:ZSUA.T"4H2-)\Z*N M(ZGN PB+G*4&=E0(3?"A>X'"9NJZI.H\EU(#=]<:#_K4LTV$W7%M]1)VU@+A MQQ2Z[<;-JLEMAZ?S!HY_5:)G(':VU3%[)F>J*'6KNU4[]<4V$8W[]Z;-LJ7_ M1:;HT9Z(V%$F40J)EM2?9ETQB*+M*0:*'VPC\,J5;BOLY5ZWBB",@7Z><-T, ME ,S0=5\KOX'4$L#!!0 ( $.$<%94O^XU6 ( (H% 9 >&PO=V]R M:W-H965T/YOKDRD^ZE>M$5HH$#9T+/@LJ8^C8, M=5XA)WH@:Q3VI92*$V-%M0UUK9 4'L19F$31..2$BB!+O6ZMLE0VAE&!:P6Z MX9RH/PMD9;RQ0GWQ2R(7$#(,#>.@=ACATMDS!'9,'YWG$'OT@&/ M[Z_L7WWN-I=GHG$IV2]:F&H63 ,HL"0-,T]R_PV[?*X=7RZ9]E_8=[91 'FC MC>0=V$; J6A/0(:U2PJ8A" MN%BA(91I^(X'TQ!V:0VU>]%I:*Q[1Q+FG:M%ZRHYX\IZ>9#"5!KN1('%OP2A MC;L//GD-?I%\R+C"? ##^ J2*$E.!+3\/#P^ 5]]'AY]D,VP;\70\XW.\,V% MH05EC1L$V&#>*&HHVFH=EY'5CB!\:6<(=48**K7[KV17,N6R$ M@0LJNEY=GFI6&\S8!^.6PRZ[F4[&:;@[+N#_1G$TB=]9K4Y8C:8W26_5EB,\ M^DLYJJV?=@VY"[;M>:_M%\KD.?4R:\>.3VYBH>R=+D3,!<$5UR3M7;!'*Y'7N!M]MX8.O, MV T_'A5T#0LPC\5#0AR2(SU0''8P!3RW#K",%YJGUYSI07NSW?>?SGNR&5)-4QE_L12 MDXV]"X^DL*)E;A[D]C?4?%R B MRU5EHLFCQE,CR53RHD1OUM'-?$%.9F HR_4I>M&5:3TP0?YDLM14I'KD&Z1A M@_&3.N1)%7)X(&2,]DX*DVER(U)(/SOPD7\C0K@381(>]3B#Y(ST@Q\D[(5A M1T#3[\.##OCL^_#>$3;])J5]YR\ZX&]"-4O(=IB2QL&=($)<%JIHUBB752 M'9:"&?TO6:(O9"XO6Z)TF 0M2;Z:'!)DT @R."K(C.6EI?+_'L3@:QJ'PWZ+ M>Y=1,&BQ[S :#"]:_/V]:L=!K5W7T$BG%*;ZYYO=IC%=NWK; MJMO=4;5F^!IR6*'+WMDY!J:J#E(MC"Q<35U*@Q7:33-LNJ"L 9ZO)-;5>F$O M:-IX_ Y02P,$% @ 0X1P5EDC"^5!" J$@ !D !X;"]W;W)K&ULS9QM;]LX$L>_"N%;'%K &TOT@^1>$B")GGI VR!I M=U\<[@5CT[%06?21=)(>[L,?]6#+E!1:VIVVVQ>-KLN1V&TVA'^[I@E[OAC8@_V!N_AQ+;,#H\OS M+7FD]U1^V=YR]6YTH"SC#4U%S%+$Z>IB<&6_B_ \<\@M?HOILSAZC;*I/##V M-7OS?GDQL+*(:$(7,D,0]>.)WM DR4@JCO^4T,%AS,SQ^/6>'N235Y-Y((+> ML.3W>"G7%P-W@)9T17:)O&//$2TG-,UX"Y:(_'_T7-I: [38"<1B7#N.ZP^05ATGI,.GJ,"T=IG4'YQ6'6>DP MZSJ"4SHX71W3>ZB.,TTR[]Y*K MW\;*3UY^9)(B>XQ^1?=KPNFOF0Z6Z(9MU)=#D%Q>;SPJ29P(])F^R!U)WBKC M+_<>>O/+6_0+&B&1.0H4I^A+&DLQ5 ?5Z\]KMA,D78KSD51Q9J.-%F5,UT5, M^)68'/2!I7(MD)\NZ;+%_\;L;^-3@, ,P..I@3!2I_APGO'^/%]C(]*CBS,T MMH<(6QBW3>G/N7O=W>T6=[^[N]5V.O]<\*'9_9^[] Q9\U?=HR[N;IN[]DF. M#]^8<3W%00DS(.$^9"P !(60L(B()BFQ>E!BU.C%HO)Q#N)Q?IAX]KLT;9%[GTH>JTOR!?J-)#O:IAACA'V7.*>Y.<-6 M?0?7-&K8^$Y#"&[=)H",/(2$14 P35/N05/N]]G)&[%]A> V=^ -'31MFCIH MVDP;.H ,/(2$14 P30?S@P[FG=>6PYI1+2O#8E$1Z/=8KM2D. ML"3/.I\>DOBQ+)B8$X\QF+[JF3>^_79SI]0TJHOGI$4 &74("8N 8)IT;*NJ MGUFGQ2.4;N(E"EITD1W+;5 S>0W1U1/EY)&B#X1_I1+=\KC"<3,!SR>X?H'89C:QZQ5;O\W,GN!Q+1>#3B$$I450-%U,57'> M-E?GC]-QFTY6AG3\A[,P:&6_I!UGX9ES9C44U32;XK/IM*ZHIMED?C:WZXH" MK?&#TB(HFJZHJLQOF^O\G]<4J:NM,7J?+M1R%#]1=)L0V#TCQ0F@]*"^QF M%\,>8\>:U?JK(>BP$11-UVE5Y+=_7)7_#[:BS!'V%BPDS0.E^:"TP&[V%&QW M:M6KB"'HJ!$43==KU5>P?UQC : K93?+^;73?W/:Q#//N;?*(&G!Z?!#T $C M*)HNL*K)8)N[# "*Z2$V&J?PJ^>2)R0AX3FUS/Y,GE26&[CM#MCUYG-Z^KJ M9N>99]U;8I"TH.,<0M!1(RB:KK.JB6&;NQBGKE/0_U"C[&>\A@'M4X#2/%": M#TH+0&DA*"V"HNFWP%:]$MRA5_)3KF',@?45,RC- Z7YH+2@I)F2->B $11- M5VC5&,'FQHA2Y4;I,5\=A^B&;&-)DKWH[HH!B\)BL),[3G,A=MG7E>/JMPA- M)FXM^W8S\\RSZ"T9T$Y'MRF$H(-&4#1=-E4+ YM;&,>W_WHQIPN9E9GS%-NC M:F@>I/U MYIGTUBLDS0>E!:"T$)060=%TO5;-%FQNMOS%JC%EM%HN&X\M7)=N)S////?> MF@3MO'2;0@@Z: 1%T\56M53P=V^I-"LS.[EF//XO/7U) MI6 :5YH#0?E!: MTD+//]E0_I@_"D>@!=NELGA"Q^'HX7$[5_E#9FK';^QW?O'0 MG I3/,/G ^&/<2I00E<*:9TY:C/#B\?B%&\DV^8/67E@4K)-_G)-R9+RS$#] M?L68W+_)!C@\G.CR_U!+ P04 " !#A'!6W# C03L# #<"P &0 'AL M+W=O0K6^0<<&Q 66I[CM.W,TRH-1V; MO3L^';.U3 F%.X[$.LLP?[Z"E&TGEFN];,S)*I%ZPYZ.<[R"!GJ:+V*I,+]H6\8Z%HK60K*L!*L,,D*+?_Q4UF$'X/9? 7@EP*L#@E< ?@GP MWPH(2D!@*E-(,74(L<33,6=;Q'6T8M,/II@&K>03JMN^D%R])0HGI[=, G)] M=(86">9PIFL8HQG+E*\$-JTYVU_.F)#H. 2)22I.-% UC=#5*?H"%#A.$:8Q MNHQ5LD1(CG5?T?63)@"!?M] ]@#\C\+=+T)T?'2"CA"AZ$?"UD(!Q=B62I9. MSHY*"5>%!.\5":Z';AB5B4#7-(9XG\!6]:B*XKT4Y^>XH\Q_,: M$IJ]'>XVP,.WPYT6-7[58M_P!:_P[38VVNED4Z4+IIYATB?&9NI[SG!L;W;5 M'P9Y@5<+"@^#W*$SJ(+VE 25DJ!5B?)AIARXD"QZK)S4)*.51I^D%R+'$4PL M=50*X!NPIA\_N'WG4U.SNR0+.R+;*U^O*E^O,R,43/V=]@6.4_/!&V+"]I@] M&?U*1K]5QG66I^P9P)PSMXS"R[KPQ??<'%-M]FCE?Z\]NB0+.R+;J^N@JNN@ M,WL,#MKJ]?V:/1IBW+H]&F)\K]D>PTK&L%7&'-2M0R*I5!2&N*=$"G0\7]RK MZZK-%JV\[[5%EV1A1V1[]1Q5]1QU9HO1X8K0@5*8:DH MG?.!2HD7LV2QD"PWT]4#DVI6,X^)&K^!ZP#U?LG4A%4N] >J@7[Z#U!+ P04 M " !#A'!6O[/R #\# #Z"0 &0 'AL+W=O<5V^(CVS^I>TRAL67)>HC1<2="X702?XT^;F<-[ MP%\W>"W?!%$SB$4F%G'P.AUP#4*X8C(C7\:SJ!=TAF>?K^Q M_^*UDY8G9G"MQ#>>VV(1S +(<6%4V MQN1!R67]9B]-'$X,DO$9@Z0Q2*XU2!N#M&N0GC$8-08C'YE:BH_#AEFVG&MU M!.W0Q.8^?#"]-QX\9H42:."/RD_?:YYQN8.O*D,>\\WUYM$%-6F;K]3SC<[P?7FI:,=0B@Y*4'H$MZ]]0:Y)XCKK;NL?EM$P M'4WGX>%4>C\L[< V_;!DUL+>21FU4D;72.?ZN'5]?-'U!VZ>!UN-"%Q:I$*WH)G%/O_'?;&+DKN.B'Y8-.LH.0-+^^5, M6CF3'V0"=<8-0D5[&N&&2\B5$$P;J%#7>_FV3UQ-.SWQ9CH=)AVGUQ]1XRD5 M8T?:1]0H'=Z-^Y5-6V73ZVJ,LE3"S2N2IENX^9O>O8(NLTW $T "97U&T6F5 ML]>^NEW_;TR;ZYCBF@DF/3SO0C=K0S>[2/S-7YF8#]@!-74 L--,6F*G"V/+ MN(8#$_O_4BRS#PE.Z13I'DD?4?'=<-*IE1[0:!AW2B4\N15+U#O?71C(U%[: M^OIH9]L&YK._MSOS*VILZC[D7YJZ*_K*](Y+ P*W1!D-I[0_==UIU .K*G_W M/BE+-[G_+*@Y0^T ]'^KZ/YM!FZ!MMU;?@=02P,$% @ 0X1P5F1=ZR(C M! #! !D !X;"]W;W)K&ULQ5A;;^(X%/XK M%IJ'5FI);$H"(XK4VUX>.H.FVUF-5OM@D@-$3>*L;:#\^SUV0D)%<%NFJWTI MOIWC[QQ_]I?3T5K()[4 T.0Y2W-UV5EH77SV/!4M(..J*PK(<68F9,8U=N7< M4X4$'ENC+/68[P=>QI.\,Q[9L8D #]6$PD]KS:2YQDD*M$Y$3"[+)S13]?,]\8V!7?$UBKG38Q MH4R%>#*=W^/+CF\000J1-BXX_JS@!M+4>$(<_U1.._6>QG"WO?7^BPT>@YER M!3*R,^B0&&9\F>IO8OT;5 'UC;](I,K^)>MJK=\AT5)ID57&B"!+ M\O*7/U>)V#%@P0$#5ADPB[OOQ%:""T1\[)PX)+.#<1QN1&9'CLBMO$X51Y9$3,R(,6T1/Y6MB9*Y/2 M1&_(R2UHGJ3J%!??944J-@"$YS'Y(G+8]E^8_G4/V13DWVCP^'!+3CZ=DD_$ M(\J 4"3)R6.>:'6&@]C^8R&6"MVID:[R M&.*7#CQ,5ITQMLW8-7-ZO(6H2WKTC#"?,8>_7GT"/>OOXH"_KTNM- :7Y/.S M;?Q+Q"J)L*E2Y 134$ZOUES&9Q4KD6^_HH6V!)R 3$1L1H1Z M]0SZ+6<0!NUA!758@3,L"P6AOCV[P5YVP[#+!NTPPAI&Z(1Q5YUU?!P[P[W, MG-/@(F3MH 8UJ,%;[VO7%_1YVAP<82'=$BOX$7 GF\P/G2(1/O42A7_*4I,D,H?\ +MNANG?L MDPV8>"DE6:D?J"0QWRC'BT]9$P][>SQ\/I+J$5=NFX MOWO':7AQ(,&-!E&W"%67G$]3.(ZG=%^%!HP.AP> -3)$W3KT M@'$K5%B/K= M0]>J$2+J5B(WVN-XZMYQR].@IJG_*DT; :)N!7H1SOMH&NS1- C# SI/&RFB M;BWZ#LHF%+\LX;G #WOL:$%6.'PD;??ER?6^-O)$W?KD!/J!--X7+==[VZ@6 M=7];('W/+GS.^=Q&]VNB5]]C;*= RD'-;ABI,US+79:U6 MC]:E[E59X#7+RSKYGLLY8B(IS-#4[X:XM2Q+S[*C16'+O:G06#S:Y@++=9!F M <[/!)9\5<=L4/\#8/PO4$L#!!0 ( $.$<%:-<->'%P, , * 9 M>&PO=V]R:W-H965TVF[:);E:C;Q;0+!TZ"5<"9;4(K[9!EF#PM(:3DU;./QQI)L$Z%NF+/)#F]A!>)V M=\/DS&RRQ"2#G!.:(P:;J3&W+Q:VHP+TCB\$2MX:(R5E3>F=FGR,IX:EB""% M2*@46%[V< EIJC))CA]U4J.IJ0+;X\?L[[5X*6:-.5S2]"N)13(U1@:*88.+ M5"QI^0%J0;[*%]&4ZU]4UGLM T4%%S2K@R5!1O+JBN]K(UH!KM,3X-0!V@BS M*J0IK[# LPFC)6)JM\RF!EJJCI9P)%?_RDHPN4IDG)A]H@*0[:(!6B68P4 I MC-$ES>3?SK$V;H"6P 4CD9 K*T&C.W2;$X'FRE B'M#9%0A,4G[>MY6CL^7J M5JY_NX9L#>S[Q!2271&84X\*E\X M)S->031$KOT6.9;CH#?(1%PYP.O+B0INXZVK*W@]%3X7@@N\PE+?8(E']X# MDT\DPB5F,8JQ/"$;3!C:X[0 31S3-,6,HQVPBEG!'RSL$E"!A"T!GCT,>_C] MAM\_R3]7A!"_V%W_R%W?'H_L;KB@@0N>!_>ZQ@9'QH;>, BZV<.&/3S)OJH> MA;VT]2_8&Q[9._#&?NAW,XX:QM&?,+ZNRZ.NXVOU*!@W"L8G%OX;K4T_>PX[I6 M#Z1S@'3^ES=Q3=+VV0^&EO.;!+/55&3 MKIUXBBB12ZJ_J*YV[1G\ZHI.6RO M>KMKS+8DYRB%C0RUAJ%\W[*J7:HF@NYTB[*F0C8\>IC(%A.8VB#7-U2V*?5$ M%6B:UMDO4$L#!!0 ( $.$<%:9&N_)WP( +H) 9 >&PO=V]R:W-H M965TVR#F0A0&EB>TZ3F"GA&96.#3?[GDX9(5, M: ;W'(DB30E_OH2$;486MEX^3.@JEOJ#'0YSLH(IR%E^S]7,KJ,L: J9H"Q# M')8CZQN^N,2^!I@5ORAL1&.,="ISQA[UY,=B9#E:$20021V"J-<:KB!)="2E MXU\5U*HY-; Y?HE^8Y)7R.D73F' XU1DNT!5+U;8+8@IWBFX* M67#8O^+Z28\!'8]!$IJ($W2$:(8>8E8(DBW$T)9*JB:THTK692G+W2-K#-$9 M\O 7Y#JNBV;3,3H^.GD=QE:9UNFZ=;JNB=O;$U>%\]K4E"C?H'0CKT/7P_VA MO6[A\FHN[RVN7AM7B0H:7-@=[.'JU5R]M[C\-J[>+I?OM%/Y-95_D.J!29*T MZ+9^K;[?J=OZN[OBX?9"#6JJ0:=F M&^Q0[=G^\YKHO%.GG;^7"#M;:W*Z=5J%>U!'OJM+4UW,W7\$>,#6^=#7>S M-OP!;\-;<\,=W:W"-8\(+]!U?\5G-TYB?:NY)7Q%,X$26"J8<]97>%Y>%,J) M9+DYG.=,JJ/>#&-UN0*N%ZC_2Z8.Z&JBS_OZNA;^!U!+ P04 " !#A'!6 M?)='X6X" !7!@ &0 'AL+W=OX_ADO!'R616(&K8EXVKB%5I7U[ZOL@)+H@:B0FYVED*61)NI7/FJ MDDAR!RJ9'P7!R"\)Y5XR=FLSF8Q%K1GE.).@ZK(D\L\4F=A,O-#;+3S25:'M M@I^,*[+".>JG:B;-S.]8#?A=1K;>!?PD^)&[8W!=K(0XME. M[O.)%]B"D&&F+0,QKS7>(F.6R)3QN^7TNI06N#_>L7]VO9M>%D3AK6"_:*Z+ MB??!@QR7I&;Z46R^8-O/E>7+!%/N"9LF]NJC!UFMM"A;L*F@I+QYDVVKPQX@ M'!T!1"T@.@3$1P##%C!\+2!N 4YJOVG%Z9 239*Q%!N0-MJPV8$3TZ%-^Y3; M8Y]K:7:IP>GDF] (80SOX"L:^12'ISH9MB=Q=#QQ4?XYO6"V4. >YZ)$OL$;@C" MP#'8*[U.HH$I?;W?],DLUD>N544RG'C&*!3*-7K)VS?A*/C4)\%_(GLA2-P) M$I\4Y'N%DFC*5\W'>0EW6V-WJE>9N$^9T8$R/4'A('X9E/8&#;N@IA-_[\J5 M*%?.NA1DHN:Z^7Z[U/IK'#]E0>R ML;%FHD7E+O9":&,3;E@8YT=I \S^4IC+W4YL@NY?DOP%4$L#!!0 ( $.$ M<%:7M( 1C0, *T. 9 >&PO=V]R:W-H965TWUQNA\V,T)+9SYM'QVR^=3MI<9+>"6(['/<\)_OH6, M'68.=GX]N*.;K=0/W/ET1S9P#_)A=\M5SVU45C2'0E!6( [KF?,&7R]PK!U* MB[\I'$2KC70H2\:^Z\Z'U!7,D@A8L.P;7V+&Y"$9N*E\GJXOT$OGKU$SQ MT-H!M(KU" 7R'?\WV#^V*X.SYU=]70-./C-^/CEWIAC]Y7)DF&[KX\ M(%*.A"F@2B$J%?2R>9SC $?!U'ULMDL /&Z,3NJ"A"P;09>7$9*V)&:G4 MX1P*:<*M).,6B!_A\1FMP<@/$C-MV-"&OTF;L6(SDL!S$V_80<'>),)GP%VK M,<83,W#4 $=6X'(E(+9&K97PSR?(E\#_-9%:U?2&?"UV)(69HW9< ?P1G/GS MOW#LO3;E^1.)G00>-X''UL"_[( 328M-/5OV_(^[$^0GH7\V05VKQ&LMDA/. M<<,YMG*^HP4I4AA$.>YF-#Y/(H/-&)L1)PWBY(\WD$EW T;2->J?P-)&KK$ M2M?9TU^A1;5S6!/=*GIIHC^1V$G\V#O6/^^B5!^\C=:Z)\D21I.S23-9X4E/ M3N%6U<87)/YP9MRAB9)S8H--SSZ*CU44#RFCE]+Z0RJ5R:JW5.%C9<7VTFI8 M&9]9D0Y8'';A2U?'4ZF=#L.Q9&-[S;8O#VO=QJ;"'2?1^?QUS>+$ZRD,^%BZ ML;UVVU:('3OJ8D?Q.737R,=1#_.QZF)[V?W- U*M>G( -9R0#&:&(Y+;NDOH MB]PGPC>T$(IJK=R\J['RY]7=J.I(MBNO%TLFU66E;&[5?1*X-E#OUTQ=,>J. MOK$T-]3Y_U!+ P04 " !#A'!6M<6$]CP$ "2$@ &0 'AL+W=O),3-_YC=^8/!XP\5/F0 H])QG M3$Z<1*G5M>O**(&0#VN[H2^;SY" M!=0W>A'/9/&+-J5MT'=0M):*YY6SCB!/6?E/GZM$[#F08PZD_0WZ/3);0/-N%3H(@1%TTQ>ZN['AQ!=O+M$[U#*T+>$KR5EL1R[ M2D=AM-RH>N)M^41RY(F8H,^WBZNV>AZ=4CTBOT>D?T=NF_[DINZ>QW.YM=XEJN: 031V\# M$L03.-/??\.!]V=78MY2+'PCL8.D^772?)OZ]";G0J7_T6(OX0LDS'(WC;7. M)9425.=,+47[A:C9(9^F@1["I_T4M4W(X- DM(9V)GB_!N];P3\Q!5I5LS*4 M%3,G2^D\S5*50B=R*1?L\?0;Q&V+7@/8&M*9P$$-'%B!OZY Z&%FRPHWT@NE MBS-H49# +.\#U+81)D&3UAK/F;2#FG9@I?U.A1[.#%Z!';2'S/,;K&V;-JHU MF#-1AS7JT(KZD.@E_%[/YOP5V&%[!C=6Y*QMXC=1K<&P5 MRE'7D#8YVT:X/QHU2*VQG$F*O5U]X9VX7B,J$[30A:9$"\%SQ ]7+L8C/=;G((#8E(CQ'"65+0/KCY!!1FV7I MLGA7=].25I3-MW*'"1X-F[36N,\=\%T=AZT53S7@@"[^ 2HN.T'M CWTHCTE M"E!>%LRZ3H_I2U?.9G:I7RWEWDKM,'.[8@[;J[G=GF')G5VB7^7.W^:.'$^= M76D["AC7PW!4*[1KG9NX73&([=5@->4Z\U5Z8KR_JJZ\5DETHEUHC^1&PO=V]R:W-H965TV-Z\KE!E(JK_D6,GTGYB*E2D_%VI5; 725!Z6)2SPO M=%/*,F+C#A)^F#C8^;SPQ-8;92ZXT_&6KN$9 MU.MV+O3,K;*L6 J99#Q# N*)-JXGBF M(DA@J4P*JO_V< ])8C+I.OZ529V*:0*;X\_L#[EX+69!)=SSY"];JJ)'WY *6A@\BUY(O-?="B>C4('+7=2\;0,UA6D+"O^Z7NY$(T 0GH" M2!E \KH+4%[EC"HZ'0M^0,(\K;.902XUC];%L#271^0P498F\0&>(9>AEPW>29BLY M=I4NR*1UER7\KH"3'O@,EM?(QY>(>(2@U^<9.C^[^)K&U7HJ4:021?*\04]> MG;M[;_33TQ^Z^ ^E72/\$I#XL@BJ6K;N@18*P 27! MB'1C@PH;',,&5J5!"]JG=% A!R<@K4H''4J)UXT-*VQX##NP*@U/5AI5R.@$ MI%5IU%9*_* ;.ZRPPV/8T*ITV(8.NY&C"CDZ 6E5.FI#/=SS]F*O=A_O&#BR M:BWCOVQK#[1A>?@$J%5MF:&)Q9$WZB'7OH3MQO2R ?WIC!4(NVC2HO><'ES[ M$[8;5!-ME][V*3_$N(=?&Q6V.]4+5S1!2?XIV9:?$OLBM*U+GZV>,FKSPG;W MZB[#OB!M.\-!$/4<.5P;&K8[VD^0\@8]9GI+0"K[6K3-[:J/7[L;MMO;=[Y] M$=I.=X5],N@IHO8Z;#>[N6;K/4![FNP \;CGP0MQ75.V& MV&Z'IQ1E7ZU1J\' /AY\?WO=1M]F>N!?5*Q9)C4NUG'>=:03B**M+":*;_-6 M;L&5;@SSX4:WXB#, _I^S'4[5TY,=U@U]]/_4$L#!!0 ( $.$<%;ZX/$! M=P( #T& 9 >&PO=V]R:W-H965TD< ,ESP86>>3EB>>G[.LVAH/I,EB#,S%JJ@J+IJHVO2P4TG[KDK$"A&92$ 7KF7<57,XC&^\"?C/8Z4Z;V$Q64C[9SH]LY@TM M$'!(T3I0\]G"'#BW1@;C;^/IM4M:8;?]ZO[-Y6YR65$-<\G_L SSF3?U2 9K M6G&\E[OOT.3C %/)M?LENR9VZ)&TTBB+1FP("B;J+WUNZM 1!.-W!&$C"+\J M"D4NT)G-I+2C2)%9R1Y2--FZVX6KCU"8;)NPN/J RL\SH,+F3""2(R(#\ MQ!P4N9%B,T!0!;EA=,4X0P;ZD]GC!2!E7)^8N,>'!3D^.B%'A GR*Y>5IB+3 ML8^&U:[HIPW7="OW387:,H5MF4+G-W[' M[RI-50492:5 )C8@T#8URT!1=QR/@2HQ,-?DI"_7VCQRYO9>;9.+:#*-_6TW MH\.@*)C^#WK#/6JY1Q]R+Q5H"[NEO (BUT1(,4AE40(RQUW2%W,GL7>':NM) M!V@:1-$>]6'0QZ'.> M[I$_)7=2I)52IG1]G-'!5@;3,!SND?9$F1V/]EC]SN6V#^LM51LF-.&P-KKA MV;DQ4/5C57=0ENZ^KR2:U\,U<_.^@[(!9GXMS9UO.O8):?\QDG]02P,$% M @ 0X1P5GLX5WD/ P LP@ !D !X;"]W;W)K&ULK59AC]HX$/TKH[0ZM1+=D "AMP=(R]*JE=H56K:]SR:9$*N.36UGV?WW M-W9"CH4LW9[N"]C.O.=Y+QY/)CNE?Y@"T<)#*:29!H6UV\LP-&F!)3,7:HN2 MGN1*E\S25&]"L]7(,@\J11CW^TE8,BZ#V<2O+?5LHBHKN,2E!E.5)=./%=0OA;+)E&URA_;9=:IJ%+4O&2Y2&*PD:\VEP%5TN$A?O [YS MW)F#,3@E:Z5^N,GG;!KT74(H,+6.@='?/5ZC$(Z(TOC9< ;ME@YX.-ZS?_3: M2V6(:O \@PYQ5PMZJW2=L](P<7ZJ$\;^PJV/'20!I9:PJ&S!E M4')9_[.'QH<#0/0<(&X \3%@^ Q@T &+P4,&\#0.U-+\3XLF&6SB58[T"Z: MV-S F^G1))]+]]I75M-33C@[NU$6(1K#._A0;H5Z1(0Y2LRYA:5@TL";!5K& MA8$[?+ 5$V\I]-MJ 6]>OX77P"7<%:HR3&9F$EI*R-&&:;/YO-X\?F;S*(:O M2MK"P >98?:4("0EK9QX+V<>GV5<8'H!@Z@'<3^..Q*Z?CD\ZH O7@[OGU$S M:%_.P/,-G^7+:26#:S))\W7E*\6]EAXM&=ME>$TX\H2NY.]GXSZEK*S: MPA=E#%R5JI*=*NN-DH/LXGATI/)L,NXVO31;EN(TH.O2H+['8/;'JRCI_]7U MWO\GLB>^C5K?1K\Z!:BU/P8EW?:&^6/PA;,U%]P^TED0S!B><\QZ<*-D6E&T MM#VX4Y:)+OM&)_8-HV1\Y%]'T&!P%+0XF_E_]"5I?4G.^G)E#%H#U/I\3>SO M+=.#?=TN/;HH'454-]%;:K M;>>]\@WG:'U.';ENH/_2U.W\*],;*D40F!-E_V),^G3=(NL)%:%O&FMEJ07Y M84%?%:A= #W/%36.9N(V:+]39O\ 4$L#!!0 ( $.$<%:][_:U4P0 '\9 M 9 >&PO=V]R:W-H965T,; (%>XBCA4V,CQ/;6-'FP@1CS&[J%1/ZRHBS&0A;9VN1; M!CC,1'%D.I8U,&-,$F,VR>H>V&Q"4Q&1!!X8XFD<8_9Z!Q'=30W;V%=\(NN- M4!7F;++%:W@$\7G[P&3)+"DAB2'AA":(P6IJS.U;W^XJ0=;B"X$=/[I&:BA+ M2K^IPH=P:EBJ1Q!!(!0"RZ]G6$ 4*9+LQ_<":I0QE?#X>D_WL\'+P2PQAP6- MOI)0;*;&R$ AK' :B4]T]P<4 ^HK7D CGGVB7='6,E"0S>&8%3")Q+!=U"T'TK&)P1] I![]((_4+0OU0P* 2#;.[SRGK72-;;9ZW?(L#F!I;%88]@S'[]1=[8/U6 MYYI.F)O#^AE,[<+/LW%O.)R8S\=.G3:R+:O7K;;R3UM998O*G/?*.>\USOE" M+@<(-N@>0A+@J".78H#DXD+N_'%?B?Z^AW@)[)^Z:6_$MYUVG3!7)\S3"?,U MP2J&]TO#^XV&WZ5R@U8+:R.+,C[> @L*Z(GAA.^ L8@[* _"5Z2 M2"Y X"HY4E5;EPB-8=LF@DZ8VS]9-$[?LJPW"U!G2%\3K.+PH'1X\-\<%B19 MJ_VU8O;!X-<.>J("1W7F-D9L:ZY.F*L3YN6PP?%./7R;*+ZFB!5OAZ6WPT9O M+]V5&REM_=()=. =]#NCO.Z%YJX1V]; \>F3 MZ.F=T-49TM,)\S7!*@[:UN$UUOJ)[R?-\+9.:J6Y6FE>03M.L]'XY#:J*V;5 MS*,S";OUG13]FUFZJ+.4-]YOFX.U-E5IIOBY:UU=C;3 M;0N]2FE=)BR:I:TMUDGSM-)\7;3<8O/H/#D&MLY._CD*:)J(_&BYK"W_79AG M9^KFH7G^U\0]9FN24&L'RP5@WD M[RM*Q;Z@ I3_NW<\^3NN?/U>DLN_L@Y MHH*')&:R;\V52D]M6T9S3(@\XBDR_6;*14*4WHJ9+5.!9)*#DMCV'*=K)X0R M:]#+ST9BT..9BBG#D0"9)0D1C^<8\V7? > M0PLN"!5P3^(,@4_A@C+"(DIBN&12B4QG6DEC59Z?28GZZ!J)S 1.@*@U"IU2 MN,$H$X*R&9P3227LAZ@(C>6!)KJ[#6%_[P#V@#+X,>>9)&PB>[;201G7[*@( MX'P5@/=* "%&1]!V#\%S/*\&/MP>[M; P^WASCK&&>MB"U'58]/JQ ^" M=:-PT\@I+=8":Y>!M1L#>RZ-PTI9_+K&9(SB-_R#JL$E2S,E#^$*%QB#5S7[ MKN8H8*CQ1J8K2L8TULJ@+(WJE>S7364YF2"/M6:O07"[0&GS^Y7>=+74'M MDBS<$=E:3OPR)WYC3D(4=$%,WX5I>:WI\W6O4W+%V*TMC)4\FQ9NT'U17HU^ MO3/J3AEUYZ,JL=U89(V??6N1[9(LW!'9FMS=4NYNH]QG420R_?<0<::TT.;6 MZJ6D$Q0D[VC[2 1KZ8GDH$[4[F8U^9WN\8N:V[0Z"=KNBZ)K]/.=*@2E"L'' M]?5@HQFWZAI[C5E-9V_T\ZTJV)7!PTR)UT3,= .!&*>:WCD*M#=B-7FM-HJG M^2PRYDI/-OERKH=5%,9 OY]R/8\4&S/>E./OX#]02P,$% @ 0X1P5MPL ME-KO P <18 !D !X;"]W;W)K&ULM5C9;N,V M%/T50@6*%LA$BQUEJ6T@L;H!XYD@Z?)0](&6KF4VDJB2E)T"_?@A*46V%(43 M!^!; ($>\ZS@0H[Y*2VAD&\VE.58 MR"9+75XRP(D&Y9D;>%[HYI@4SF*F^V[98D8KD9$";AGB59YC]M\-9'0_=WSG MJ>..I%NA.MS%K,0IW(/XO;QELN6V+ G)H>"$%HC!9NY<^U>1'RJ 'O$'@3T_ M>D8JE#6E#ZKQ:S)W/+4BR" 6B@++GQTL(!E M,&O,84FS/TDBMG/GPD$);'"5B3NZ_P6:@,X47TPSKO^B?3/6M)@:+<,GAC'(H%D +\TX_W 0.#* M6-N @Z> ;P(CXPJS4S3Q3U#@!?[0@LSP".(6'@S H]?#?4,TDS9]$\TW?2E] M5;X&AN@&?2Z!89VV)I%\*%M&-K7'7/$2QS!WY";"@>W 67S[C1]Z/PPI59.% MFDSM+[N%#&EW+(:EZ3K23%MIIJ^4IG8T7F=@U,9(-U:;Z5>UL31=1YNS5ILS MHS9+O;%(=9:TB*4>RCER$[XC_ ']M0(EW-_H?RG<#HH*T T4\59^%@XOA_0S M3CE6/YMDD26RCM1A*W7X2ANN\#]4*MY(/VC!\)EKO*YKEL]']'UE7,X;@SUO M@SU_7U_)EY\+:$4R^LVXE+%^LTD662+KI."B3<&%.07/E#]!M\!4GSS'#>EH MY!NK8TUV<>S@TZ!O44LS=O2Y;/6Y?'>+_@PT9;C]:U-6=7I*/3NF_# MO==Q3"MYS)$VCH'L]-''Y$GSK*.5M,D6V6+K*AX<% _L?;_-7*-U#+[ZL3<. MZ49\*"E\.;2Y@W;(E6BYB&K;]-K_5M8:]_J>Y3 M]1W?@::^C%UAEI*"HPPVDM([/9=99O7]9MT0M-0W?FLJY/^&?MP"3H"I ?+] MAE+QU% 3M+?,BR]02P,$% @ 0X1P5H(ED=KA!P =4T !D !X;"]W M;W)K&ULK9QM;Z-(%H7_2LD[&LU(LS%58+ S2:3N MA'JFJS?5X7"Y>>!J75_F&9V+/*B_2N!*KQ?.XW!0\7C:B M=#UFFF:.TSC)1G?ZM7_.7M2*M;Q-=\4=6(6/SZSN_Y>EV31#O^UT)'^\^LA_S]7^29?5R.YJ.R)*OXNVZ^IJ_>KP]H$G-6^3KLOF?O+:QVH@L MMF65IZU8M"!-LMWO^,_V1!P)J#X@8*V ]063 8'>"O2^P!@0&*W .%>T_H2Q*L3>1.BJ MN]_RBA,Z(_\DC_Q9&+(B7_DF+ZHD>Q;;?A-WCL=XS4OR]!>)XN*;6/_I@5=Q MLBY_%OM_?WP@/_WP,_F!)!GYUTN^+>-L6=Z,*]&RFC]>M*VXW[6"#;1")U&> M52\EL;,E7TKTH5I/F0(P%J=D?U[8VWFY9TKB U]<$9W^0IC&F*1!#VKY(]\( MN38HM]7R8)LIY8Y:+GI*V7CW_&.G$KEW_K'+Y/[YQRZ3!^_KU^G_^] M4Q>=+]<45[&^=[?>\(PA=PN_EK5_99;<22>-M![?O]_-*-.MF_'WX^M<$F7. M+*T;94NB#-W0NU'.:91%F<&Z4>YIU,0\87F2*,UBO2A?%F5.)MVHX#3*F$YF MLVY4>!JE3W1KUFO^_#2,::;.>FFTEPG.3\.H MSB9:+TF-)&'BKX3)5#Z467NC6/"$44T<2!B5HDM-AX392)B#A+E(F(>$^4A8 M@(2%.QBE1S[1KJ;:3#OZZ:>04HW9_\,TDH=93.[ Z=Z!4Z5?/FVK/,WKQ]?* M?%()N=0_2)B-A#E(F(N$>4B8CX0%2%B(A,V1L @$ZYATMC?I[./YI%)ZJ361 M,!L)61H3'L/;.>2J,ED9O;&,DF486J6?"BCVN%M MD@9/)]]!#N23:M6EKH/2;"C-@=)<*,V#TGPH+8#2PI;6R_XTH_>68#X09_4- M.! W'7@T28]>Z%*E7^[SK-RFO%!FDVK&Q>Y!TFPHS8'27"C-@])\*"V TD(H M;0ZE12A:UZ_LX%?V\=12K;W8ITB:#:4Y4)H+I7E0F@^E!5!:V-*Z.2;KOS"? M2\*8J1G3_A@GH4UU:@X,<8>J!JHN:_A0EJE&#F692M7%_D/2;"C-@=)<*,V# MTGPH+8#2PI;V?I8IC:/L),N4QVD#SRSIH1IO80Z4+59>ZJ+-.:(4+E&9#:0Z4YD)I'I3F0VD!E!:VM$Z> MJ.FL_W4>2=C4H'I_R#N-LDPV])3E4'5"U64G'\HYU=\CBC_QV?H;@!"[)#10M3EY_8]10#19XEBU*9 M9JHQEQH(2K.A- =**F"8N@)&F6:JM1?[ M%%KY J4Y4)H+I7E0F@^E!5!:V-(ZF2'K?QM\+HO2K?[[=$G4Q#('GFRR0P4* M4U>@?"3+? ;#UK. J4Y4)H+I7E0F@^E!5!:V-).LLS^%X &XO3^ MZ_2AN*$LLZYHZ6XYO&!GZA?LPD'WO*CB)"-QFF^SJB2KO"#5"Q?_"LY)G"U) M)D0DWWH=4,GVD%Y'LNV?F'X]9[ITCR'V-/->\]I$@-#XQ_%5M* M)?J>I;D865LI=U>V+=9;FA'18SN:JR<;QC,BU2U_ML6.4Q*7I"RU7<<)[8PD MN34>EFWW?#QD>YDF.;WG2.RSC/ ?US1EAY&%K=>&+\GS5A8-]GBX(\_T@KJ,"7@+\3>A!'UZB(Y(FQK\7-(AY93C$@ MFM*U+!2(^GNA-S1-"R$UC&^UIM5T61"/KU_59V7L*I8G(N@-2_])8KD=67T+ MQ71#]JG\P@ZWM(XG*/36+!7E+SK46,="Z[V0+*O):@19DE?_Y'N=AR."TH$) M;DUP=8)_AN#5!*\KP:\)?E="4!."KH2P)H1="5%-B+H2^C6AWY4PJ D#G1"> M*YSS6CFG:Q^X*;91[;.4UW+CLMYV9:S2E1,BR7C(V0'Q J_TBHO2VB5?F3') MBTGX(+EZFBB>'/_!)$6N@WY#?^X)EY2G/] LR4F^3DB*%GDUS8OYNUVZHXH>L>\O!'E5K7!09TTTY_H#M%=\[2)^WTY3YOI4_;Z9\) M;QW\K'OL&*#/N\<.T6^[QP[1%]UCA^C+]]7][GVI6W6G.RTN]IK%P2OU_'.+ M@]H$"))2<$I6U*"D%J_ZE_$ NUXTM%^.?0Z@PD'DG*(F ,KW?.\4-351$79] M]Q0U,U%!:&C- 903N1KJ%D*%07"*6I@HOQ\,!J>HI8GR B\::,._,V&N$WJN MEK&5" C@IN-\4W&\M^)PS(=".LTTBH9I7[/!X<)X;:9'> *@@T',[ M 5"^Y_I:S4T4CK"GH68 RG,BK4YS .4Z.-1J#FGY6.MQ 6F%CEYSW_2UHV!: MR4U4@+'>X\I$^7[8]^&"!TW!@_^=X4F^9AF%RAT87?;]4#/LC0G"@\#79S@@ M-7"U=$U-D)I(?:W6)LASL:8T!T!17P/= MU%6)_< B'FI>7K4DNSE%78D?6 M=&2I@Y*@_(5:XU]_P:'S._2*^)EBJY\D=F*NL#%7V&JN:R*2-' M]WHA@BJH6<'$*"MH:_P$%-*V+E,3!%@! NE;DCD$TJT ]J8)+4 AW0HF*.CY M&N@.2I/^^EI!:8HBS0KVT>$SH_RY_*0BT)KMK*Z45JM>/59Y?J1K)=>?1]8E(=I&PO=V]R:W-H965TW=D*N)*'BI;6=FJN 9HY4<#\<#$9^ M09GP9A.WME"SB2P-9P(6BNBR**AZGP.7^ZD7>!\+3VR],7;!GTVV= U+,,_; MA<*9WZADK "AF11$03[U;H.;9&SQ#O#"8*\/QL0Z64GY9B^- J?,N29V1+O M459R( \/Y(*\4%[2ZCQ$1GZ5E+/\G8DUN4U360JCR6D"AC*NSQ#]O$S(Z@.Z^3P]ZZ,GWZ8,C;J+FC"*G%W^A-Z>@JF^W*[6A4[-IOYL-@^N)OSO<@"XFOHH_8Y(^S*C!?+(2-U;B MHU862NZ8*QE8L3!A,\S1E>DS4>F,#EX>7D-A>-3# MJV(&+F2>ZW,BL##C22A(Y0X4@][;/^R$N2>K0#/I=0(T[UF1MT8HO;EZF):=I-CB$\^QHV/\7=S!+!T M'=6CZ/VQ>IB.AF4=#&'&529\ \*&PO M*0 /6AK@];65")?5_NN^]\E]KMH#0KP6[FC)E@F0M9 M#LG:8*)BV2*9U38Z=Z%I:%9C0MP2D78:_3B<.<G ME[OVDPHX):&7]/P)I&<=G-=B&'6\35T]?FR)G.,QYG;A5_3KQT\DT1;9GVK_ M2:GNR10C3CR)VG5I ]0P$.6D=JIL-,E$Z9;H)TR5K MTV@@6 9R-)_-X6Y4$0)HC,KM(.5TIB2M-*P]ZH&EG3(A;N -_9IM<2^SC;IU MH&JR&5I!]=#1N GP;[(Y[DW:WK-X@X+?*_-A8=.1U1P:C5UKEO%E-5]FC0", MO8NSTZ(0J_>"SV3.7/)/#C@:T+5?,%>:/]AHT"I3:V":!/=,&S[=M'S7M+AE M2[-NIV6&:^X=H.:_N\XS)IFF8E.T[?V7O,K/5EQO:?]"<_5K95>Q5V1T\?(U MUMOX2Q<9'X+(@RAW_Q!$)B]29%AOX!NGA*TS0F,-X"PV)%_@9"?:H,%DP87A MLI[->9HR^>BH8.D-G=@_$;;X[?,IR^A"F-L&'))V_)FE?)$GS5/7L!#U4^WX M$Z37C9N#H(W%92JNOP(YN,P/P(8%@=3@/DX M+RS._Y1/'\W'89BVOA?IHSY]U,=Y^9!Q]<'B^'T2>_DS39(HBF-L1<=CKX(Q MMFYQ##]^-DP;>&!Q(-*?K35>;;Q#]O&!5P'H'XOOC0$_Y?:((JHIIP]Y@'$D2#(%>]/=H'".K$\/'7Q_L+8FB M)/$C@/D51!&&P-N((Y@"T( A453M@SO[4;C>I\+V_V:CWU!+ P04 " !# MA'!6EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0 M(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I M6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6 MFD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L# M!!0 ( $.$<%8 '1.TFP8 -4] / >&PO=V]R:V)O;VLN>&ULQ9M= M<]HX%(;_BH:K[LRRQ,9?=)K.I"'I,I-MLR';VXXP C2U+6J+?/37[['8-$=I M=&9O.%P1&\<\'-EZ]$KFW;UIORV,^28>ZJKI3@<;:[=O1Z.NW*A:=G^8K6K@ MG95I:VEALUV/NFVKY++;*&7K:A2?G&2C6NIF\/[=T[FNVQ'>,%:55IL&=O8[ MOFAUWSV_WV^*.]WIA:ZT?3P=N+\K-1"U;G2M?ZCEZ>!D(+J-N?_3M/J'::RL MYF5KJNIT$.W?^*):J\M?=L][R%NYZ-P>*Q M*3AXO[6SYE)75K53:=7'UNRVNEGWIX%O,4)?P]7AZ75?Q+?M_RFC6:UTJ::F MW-6JL?LZMJKJ 9MNH[?=0#2R5J>#IT/$6;,4%XV%(HE9LS\5'-M_4_CHV7+_ MK2W@HAJV;S6\TP;2J]A$]?B@^RDDVIA"MNAP!C C ^&J!X441B*.:[NI;MHRNA7C<:_E\V%D'F!&3. !D#Y%GY?0YQ M+WY"=>,G#)BI*V2I])V$3]\W]ED%E+B;C$C;'%@W#C,#S%D#[6UA6.!=B1$E MFNC IG%L.;!]-&9YKZO*U>^SW:@6VC<.< .94+;S:47*)#FR7?<=]XCK%LMV!8BX>X'2=?Q%2 M9HE8U!*Y.Z0TM1*W\@&S44*).(P2]4KY!)_P']\UW!WSC6P5IJ2,$G$H)>J= MXK"&"]E!.Y^;NF]HZ5V*E%8B#J]$O5BNE/0OP)@22@AQ MJA976BXTQJ1$$G.().I- BU;:[L?)?9=((P@K8=)AA<.IT2]5"[J;64>E1(? M5*-6VKI.&V-23HDYG!+U4KF4NA5?9 5#,1C47NH&\I973%C1,HP,8=AXMXP?^]D"_=-]?A411@VSC FI9GXP)J9PSF6NTJ) MV0Q0^_9VQ[@;", Q)F6<^,#&0:&J-[;9-7U;BVM(B*4_!I\0'+W[)J'$ MD[!$G^?D^%IS)Y1R$I;0$XB0?ATIY23'##T^)KEJ<[S0T[<\QJ2DDQPS^/C5 MI*23'#/X^)B4?1(6^X02Q1AC4O9)CAI\$HQ)^2G4Y9*.6(/L%0[F%2%DHY+!3$Q-U[2EDHY;#0R[F# M9R=A3,I"*8>%@K,'N-$SRD(9AX6"F+C1,\I"&8>%@I@IQJ0LE!WSH8*O&<:D M+)0=\Z$"_]JD+)1Q6"B(Z5V;E(4R#@L]SVQ-E96ZZL2M>K [6>&SEA M^/,2Q<\N4A;*6>;B7F ^;V!,RD(YRUS<+YA3M5)MJY88D[)0SC(C%ZBF-WK/ M*0OE+#-R@7EB'Y.R4,XR(Q?"Q++,*0OE+ ^[A::S/4S*0CG+$V\A3.STG'R: MFF5&+H2)QYLY9:'\F$^_>>/-G+)0SF*A$&:., O*0L515X0*C$E9J&!?$?*& MG!B3LE#!8B&$.10W>KVQ0[,:_M/A!T@+RD(%BX4\3/<'M'L'HWF,25FH8+&0 MAWFV7K=J#3SBTFMTRD(%BX5"BX'80@5EH8+%0H$'-;VA1T%9J&"Q4&C-TJLF M^:L>%@N%,+'3"\I"!8N% DNK4]PA32@+35@L]#HFC$$Q)F6A"Y3D]H/( CYK%K.)_*U0VZ+\+JQ'J.G' MEW)HQWUW&G;[\[#X/!Y.PZK:C>/Y5UT/ZUTYML-#=RZGRYU-UQ_;\;+LM_6Y M7;^WVU++GJ\G[EX_3J7_YG8;3;[=?G=K?\00)#,'Z00I/,'10B* M\P<9!-G\00Y!/G]0@J T?U"&H#Q_4 -!S?Q!88DR+@F2)E@3:!V0ZT#@=4"P M X'8 D.!'8'Q#L0Z"VHMQ#H+:BW$.@M MDQ_;!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>BOJK01Z M*^JM!'HKZJT$>NMDLX1 ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 M[XAZ1P*](^H="?2.J'D4#OB'I' KTCZAT)](ZH M=R30.Z+>D4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;YO\64F@MZ'>1J"W MH=Y&H+>AWD:@MZ'>1J"WH]Y.H+>CWDZ@MZ/>3J"WH]Y.H+>CWDZ@MZ/>3J"W M3PZ;$.CMJ+<3Z.VHMQ/H[:BW$^B=4.]$H'="O1.!W@GU3@1Z)]0[$>B=4.]$ MH'="O1.!W@GU3@1ZI\EA00*]$^J="/1.J'A#+>>[S4^_R>I'B_?+;?'7Y??%R>ORA7G^KYB M>/H+4$L#!!0 ( $.$<%9]\^X_0P( ,U 3 6T-O;G1E;G1?5'EP M97-=+GAM;,W;WV[:,!3'\5=!N:U(B!W;82J]:7>[]6(OD"6F1.2?;+>C;S\3 MVDJ;.K2*2?O>$('M\SOQD3YW7'][GJQ?'/IN\)MD%\+T*A^2UE^9*0QI/S'K]K)W\5-R39NPG'E3\' MO)S[^F2=:QN[N*]<^%+U<5=VZ#(?GCOKT_,EWNEQW&[;VC9C_=C'(ZF?G*T: MO[,V]%UZ*GIU/CG$&[:GS_SB_+G,N<"X\]Z-DX\3<_;C<:\C.9Y>3K&0=:$] M_XIOB;'TQ>]GC]-N;/.7V?%Z?XQN/\_#9_/C\CO^=<9O]3_8AX#T(2%]%) ^ M%*0/#>G#0/HH(7VL(7WD*THC%%%S"JDYQ=2<@FI.436GL)I37,TIL.84605% M5D&155!D%119!45609%54&05%%D%159!D5529)44625%5DF155)DE119)456 M29%54F25%%D+BJP%1=:"(FM!D;6@R%I09"THLA8460N*K 5%5D6155%D5119 M%45619%54615%%D5159%D5519-44635%5DV155-DU119-45639%54V35%%DU M159#D=509#4460U%5D.1U5!D-119#4560Y'54&0M*;*6%%E+BJPE1=:2(FM) MD;6DR%I29"TILI846=<46=<46=<46=?_4];OX[C_Q_'S,^VK=GC-S^;_/MW\ M!%!+ 0(4 Q0 ( $.$<%8'04UB@0 +$ 0 " 0 M !D;V-0&UL4$L! A0#% @ 0X1P5B^71N+O *P( M !$ ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% M @ 0X1P5IE&PO=V]R:W-H965T&UL4$L! A0#% M @ 0X1P5DX&R 09!P T1X !@ ("!I@\ 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 0X1P5C_D@+-X!P M 3D !@ ("!/R 'AL+W=OTG M !X;"]W;W)K$Y. M(Z(. #P)@ & @(&R, >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5J5M+!Y;" C!H !@ M ("!BC\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5JWR@RF; @ BP4 M !D ("!*E4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5LZ4(8G5! -0L !D M ("!=V 'AL+W=O!@ &0 @(Z >&PO=V]R:W-H965T M&UL4$L! A0# M% @ 0X1P5F>Z;\*G P [P@ !D ("!K&\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5II% M-B[+ @ _P4 !D ("!7H( 'AL+W=O&PO=V]R:W-H965T"' !X;"]W;W)K&UL4$L! A0#% @ 0X1P5C0B]+U&!@ .P\ !D M ("!0XP 'AL+W=O&PO M=V]R:W-H965T.6 !X;"]W;W)K&UL4$L! A0#% @ 0X1P5IVY_U?R @ H 8 !D ("! M2IH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 0X1P5I/*+XVA!0 W0X !D ("!7Z\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5JJJ"I(] M P G@< !D ("!R+P 'AL+W=O&PO=V]R:W-H965T[" !X;"]W;W)K&UL4$L! A0#% @ 0X1P5@"=04P0 P @P8 !D M ("!9<< 'AL+W=O&PO=V]R M:W-H965T.?L0( ,$% M 9 " @:3- !X;"]W;W)K&UL M4$L! A0#% @ 0X1P5A)B2*!B!0 FPP !D ("!C- M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M0X1P5D[:DFV'! B L !D ("!5=X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5CDG9,,; P MA08 !D ("!RN@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5G/;9;\J! ,!$ !D M ("!0O( 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 0X1P5F&&Q H^#P I-4 !D ("!Q@4! 'AL M+W=OHZ,BN(# M "H$ &0 @($[%0$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P M5@'6#R:4! #1\ !D ("!]QL! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5H@U)CI- @ C 4 M !D ("!OR@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5D^/S8>< @ JP8 !D M ("!^S ! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 0X1P5N?&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5J70 M\:VM!@ ES !D ("!HT0! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5DZQ_?&B @ ; < !D M ("!K%$! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 0X1P5N UOBKE P T T !D ("! M EP! 'AL+W=O8 $ >&PO=V]R:W-H965T&UL4$L! A0#% M @ 0X1P5MAP%D?6 @ T@< !D ("!NF8! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5K^S\@ _ M P ^@D !D ("!L74! 'AL+W=O0$ >&PO=V]R:W-H965T'%P, , * 9 " @8%] 0!X;"]W;W)K&UL4$L! A0#% @ 0X1P5ID:[\G? @ N@D !D M ("!SX ! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 0X1P5K7%A/8\! DA( !D ("!3HH! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M0X1P5GLX5WD/ P LP@ !D ("!S)0! 'AL+W=O_VM5,$ !_&0 &0 M @($2F $ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5MPLE-KO P M<18 !D ("! Z ! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X1P5BH%; [J @ ?0@ !D M ("!"+$! 'AL+W=O2!+UD(# !$$P #0 @ $IM $ >&PO&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !#A'!6??/N/T," #-0 $P M @ $PP@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 90!E + +H; "DQ $ ! end XML 110 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 111 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 112 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.4 html 219 460 1 true 70 0 false 7 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.ufpt.com/20221231/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets Sheet http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets Consolidated Balance Sheets Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Parentheticals) Sheet http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals Consolidated Balance Sheets (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Income Sheet http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income Consolidated Statements of Income Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Stockholders' Equity Sheet http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity Consolidated Statements of Stockholders' Equity Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Cash Flows Sheet http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows Consolidated Statements of Cash Flows Statements 6 false false R7.htm 006 - Disclosure - Note 1 - Summary of Significant Accounting Policies Sheet http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies Note 1 - Summary of Significant Accounting Policies Notes 7 false false R8.htm 007 - Disclosure - Note 2 - Acquisitions and Divestiture Sheet http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture Note 2 - Acquisitions and Divestiture Notes 8 false false R9.htm 008 - Disclosure - Note 3 - Revenue Recognition Sheet http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition Note 3 - Revenue Recognition Notes 9 false false R10.htm 009 - Disclosure - Note 4 - Supplemental Cash Flow Information Sheet http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information- Note 4 - Supplemental Cash Flow Information Notes 10 false false R11.htm 010 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses Sheet http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses Note 5 - Receivables and Allowance for Credit Losses Notes 11 false false R12.htm 011 - Disclosure - Note 6 - Inventories Sheet http://www.ufpt.com/20221231/role/statement-note-6-inventories Note 6 - Inventories Notes 12 false false R13.htm 012 - Disclosure - Note 7 - Goodwill and Other Intangible Assets Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets- Note 7 - Goodwill and Other Intangible Assets Notes 13 false false R14.htm 013 - Disclosure - Note 8 - Property, Plant and Equipment Sheet http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment Note 8 - Property, Plant and Equipment Notes 14 false false R15.htm 014 - Disclosure - Note 9 - Debt Sheet http://www.ufpt.com/20221231/role/statement-note-9-debt Note 9 - Debt Notes 15 false false R16.htm 015 - Disclosure - Note 10 - Accrued Expenses Sheet http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses Note 10 - Accrued Expenses Notes 16 false false R17.htm 016 - Disclosure - Note 11 - Income Tax Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax Note 11 - Income Tax Notes 17 false false R18.htm 017 - Disclosure - Note 12 - Net Income Per Share Sheet http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share Note 12 - Net Income Per Share Notes 18 false false R19.htm 018 - Disclosure - Note 13 - Share-based Compensation Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation Note 13 - Share-based Compensation Notes 19 false false R20.htm 019 - Disclosure - Note 14 - Leases Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases Note 14 - Leases Notes 20 false false R21.htm 020 - Disclosure - Note 15 - Other Long-term Liabilities Sheet http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities Note 15 - Other Long-term Liabilities Notes 21 false false R22.htm 021 - Disclosure - Note 16 - Commitments and Contingencies Sheet http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies Note 16 - Commitments and Contingencies Notes 22 false false R23.htm 022 - Disclosure - Note 17 - Employee Benefit Plans Sheet http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans Note 17 - Employee Benefit Plans Notes 23 false false R24.htm 023 - Disclosure - Note 18 - Fair Value of Financial Instruments Sheet http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments Note 18 - Fair Value of Financial Instruments Notes 24 false false R25.htm 024 - Disclosure - Note 19 - Segment Reporting Sheet http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting- Note 19 - Segment Reporting Notes 25 false false R26.htm 025 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) Sheet http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited Note 20 - Quarterly Financial Information (Unaudited) Notes 26 false false R27.htm 026 - Disclosure - Schedule II - Valuation and Qualifying Accounts Sheet http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts Schedule II - Valuation and Qualifying Accounts Notes 27 false false R28.htm 027 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies Significant Accounting Policies (Policies) Policies http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies 28 false false R29.htm 028 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables Note 1 - Summary of Significant Accounting Policies (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies 29 false false R30.htm 029 - Disclosure - Note 2 - Acquisitions and Divestiture (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables Note 2 - Acquisitions and Divestiture (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture 30 false false R31.htm 030 - Disclosure - Note 3 - Revenue Recognition (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables Note 3 - Revenue Recognition (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition 31 false false R32.htm 031 - Disclosure - Note 4 - Supplemental Cash Flow Information (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables Note 4 - Supplemental Cash Flow Information (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information- 32 false false R33.htm 032 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables Note 5 - Receivables and Allowance for Credit Losses (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses 33 false false R34.htm 033 - Disclosure - Note 6 - Inventories (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables Note 6 - Inventories (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-6-inventories 34 false false R35.htm 034 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables Note 7 - Goodwill and Other Intangible Assets (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets- 35 false false R36.htm 035 - Disclosure - Note 8 - Property, Plant and Equipment (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables Note 8 - Property, Plant and Equipment (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment 36 false false R37.htm 036 - Disclosure - Note 9 - Debt (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-9-debt-tables Note 9 - Debt (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-9-debt 37 false false R38.htm 037 - Disclosure - Note 10 - Accrued Expenses (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables Note 10 - Accrued Expenses (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses 38 false false R39.htm 038 - Disclosure - Note 11 - Income Tax (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables Note 11 - Income Tax (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-11-income-tax 39 false false R40.htm 039 - Disclosure - Note 12 - Net Income Per Share (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables Note 12 - Net Income Per Share (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share 40 false false R41.htm 040 - Disclosure - Note 13 - Share-based Compensation (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables Note 13 - Share-based Compensation (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation 41 false false R42.htm 041 - Disclosure - Note 14 - Leases (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases-tables Note 14 - Leases (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-14-leases 42 false false R43.htm 042 - Disclosure - Note 15 - Other Long-term Liabilities (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables Note 15 - Other Long-term Liabilities (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities 43 false false R44.htm 043 - Disclosure - Note 18 - Fair Value of Financial Instruments (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables Note 18 - Fair Value of Financial Instruments (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments 44 false false R45.htm 044 - Disclosure - Note 19 - Segment Reporting (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables Note 19 - Segment Reporting (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting- 45 false false R46.htm 045 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) (Tables) Sheet http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables Note 20 - Quarterly Financial Information (Unaudited) (Tables) Tables http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited 46 false false R47.htm 046 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) Sheet http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables Schedule II - Valuation and Qualifying Accounts (Tables) Tables http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts 47 false false R48.htm 047 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual Note 1 - Summary of Significant Accounting Policies (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables 48 false false R49.htm 048 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details) Details 49 false false R50.htm 049 - Disclosure - Note 2 - Acquisitions and Divestiture (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual Note 2 - Acquisitions and Divestiture (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables 50 false false R51.htm 050 - Disclosure - Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details) Details 51 false false R52.htm 051 - Disclosure - Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details) Details 52 false false R53.htm 052 - Disclosure - Note 3 - Revenue Recognition (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual Note 3 - Revenue Recognition (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables 53 false false R54.htm 053 - Disclosure - Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details) Details 54 false false R55.htm 054 - Disclosure - Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details) Details 55 false false R56.htm 055 - Disclosure - Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) Details 56 false false R57.htm 056 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details) Details 57 false false R58.htm 057 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details) Details 58 false false R59.htm 058 - Disclosure - Note 6 - Inventories - Summary of Inventory (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details Note 6 - Inventories - Summary of Inventory (Details) Details 59 false false R60.htm 059 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual Note 7 - Goodwill and Other Intangible Assets (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables 60 false false R61.htm 060 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details) Details 61 false false R62.htm 061 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details) Details 62 false false R63.htm 062 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details) Details 63 false false R64.htm 063 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual Note 8 - Property, Plant and Equipment (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables 64 false false R65.htm 064 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details) Details 65 false false R66.htm 065 - Disclosure - Note 9 - Debt (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual Note 9 - Debt (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-9-debt-tables 66 false false R67.htm 066 - Disclosure - Note 9 - Debt - Long-term Debt (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details Note 9 - Debt - Long-term Debt (Details) Details 67 false false R68.htm 067 - Disclosure - Note 9 - Debt - Schedule of Maturity (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details Note 9 - Debt - Schedule of Maturity (Details) Details 68 false false R69.htm 068 - Disclosure - Note 10 - Accrued Expenses - Accrued Expenses (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details Note 10 - Accrued Expenses - Accrued Expenses (Details) Details 69 false false R70.htm 069 - Disclosure - Note 11 - Income Tax (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual Note 11 - Income Tax (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables 70 false false R71.htm 070 - Disclosure - Note 11 - Income Tax - Income Tax Provision (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details Note 11 - Income Tax - Income Tax Provision (Details) Details 71 false false R72.htm 071 - Disclosure - Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details) Details 72 false false R73.htm 072 - Disclosure - Note 11 - Income Tax - Income Tax Rate Reconciliation (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details Note 11 - Income Tax - Income Tax Rate Reconciliation (Details) Details 73 false false R74.htm 073 - Disclosure - Note 12 - Net Income Per Share (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual Note 12 - Net Income Per Share (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables 74 false false R75.htm 074 - Disclosure - Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) Details 75 false false R76.htm 075 - Disclosure - Note 13 - Share-based Compensation (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual Note 13 - Share-based Compensation (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables 76 false false R77.htm 076 - Disclosure - Note 13 - Share-based Compensation - Compensation Cost (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details Note 13 - Share-based Compensation - Compensation Cost (Details) Details 77 false false R78.htm 077 - Disclosure - Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details) Details 78 false false R79.htm 078 - Disclosure - Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details) Details 79 false false R80.htm 079 - Disclosure - Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details) Details 80 false false R81.htm 080 - Disclosure - Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details) Details 81 false false R82.htm 081 - Disclosure - Note 14 - Leases (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual Note 14 - Leases (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-14-leases-tables 82 false false R83.htm 082 - Disclosure - Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details) Details 83 false false R84.htm 083 - Disclosure - Note 14 - Leases - Lease Cost (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details Note 14 - Leases - Lease Cost (Details) Details 84 false false R85.htm 084 - Disclosure - Note 14 - Leases - Aggregate Future Lease Payments (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details Note 14 - Leases - Aggregate Future Lease Payments (Details) Details 85 false false R86.htm 085 - Disclosure - Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details) Details 86 false false R87.htm 086 - Disclosure - Note 17 - Employee Benefit Plans (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual Note 17 - Employee Benefit Plans (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans 87 false false R88.htm 087 - Disclosure - Note 18 - Fair Value of Financial Instruments (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual Note 18 - Fair Value of Financial Instruments (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables 88 false false R89.htm 088 - Disclosure - Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details) Details 89 false false R90.htm 089 - Disclosure - Note 19 - Segment Reporting (Details Textual) Sheet http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual Note 19 - Segment Reporting (Details Textual) Details http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables 90 false false R91.htm 090 - Disclosure - Note 19 - Segment Reporting - Net Sales by Market (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details Note 19 - Segment Reporting - Net Sales by Market (Details) Details 91 false false R92.htm 091 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) Sheet http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) Details http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables 92 false false R93.htm 092 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details) Sheet http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details Schedule II - Valuation and Qualifying Accounts (Details) Details http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables 93 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 48 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityRegistrantName, ufpt:BusinessCombinationAgreementTerm, ufpt:NumberOfMajorCustomers, us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount, us-gaap:CashEquivalentsAtCarryingValue, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:DebtInstrumentBasisSpreadOnVariableRate1, us-gaap:FiniteLivedIntangibleAssetUsefulLife, us-gaap:NumberOfOperatingSegments, us-gaap:NumberOfReportableSegments, us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod, us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation, us-gaap:TreasuryStockShares, us-gaap:TreasuryStockSharesAcquired, us-gaap:UnrecognizedTaxBenefits - ufpt20221231_10k.htm 8, 10, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 ufpt20221231_10k.htm ex_485784.htm ex_485785.htm ex_485786.htm ex_485787.htm ex_485788.htm ex_487610.htm ex_487611.htm ex_487612.htm ufpt-20221231.xsd ufpt-20221231_cal.xml ufpt-20221231_def.xml ufpt-20221231_lab.xml ufpt-20221231_pre.xml http://fasb.org/srt/2022 http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 115 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "ufpt20221231_10k.htm": { "axisCustom": 0, "axisStandard": 28, "baseTaxonomies": { "http://fasb.org/srt/2022": 1, "http://fasb.org/us-gaap/2022": 1093, "http://xbrl.sec.gov/dei/2022": 36 }, "contextCount": 219, "dts": { "calculationLink": { "local": [ "ufpt-20221231_cal.xml" ] }, "definitionLink": { "local": [ "ufpt-20221231_def.xml" ] }, "inline": { "local": [ "ufpt20221231_10k.htm" ] }, "labelLink": { "local": [ "ufpt-20221231_lab.xml" ] }, "presentationLink": { "local": [ "ufpt-20221231_pre.xml" ] }, "schema": { "local": [ "ufpt-20221231.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/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/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.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": 669, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 46, "http://www.ufpt.com/20221231": 4, "http://xbrl.sec.gov/dei/2022": 6, "total": 56 }, "keyCustom": 49, "keyStandard": 411, "memberCustom": 34, "memberStandard": 36, "nsprefix": "ufpt", "nsuri": "http://www.ufpt.com/20221231", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "b", "p", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "menuCat": "Cover", "order": "1", "role": "http://www.ufpt.com/20221231/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "b", "p", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 4 - Supplemental Cash Flow Information", "menuCat": "Notes", "order": "10", "role": "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "shortName": "Note 4 - Supplemental Cash Flow Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses", "menuCat": "Notes", "order": "11", "role": "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "shortName": "Note 5 - Receivables and Allowance for Credit Losses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 6 - Inventories", "menuCat": "Notes", "order": "12", "role": "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "shortName": "Note 6 - Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 7 - Goodwill and Other Intangible Assets", "menuCat": "Notes", "order": "13", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "shortName": "Note 7 - Goodwill and Other Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 8 - Property, Plant and Equipment", "menuCat": "Notes", "order": "14", "role": "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "shortName": "Note 8 - Property, Plant and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 9 - Debt", "menuCat": "Notes", "order": "15", "role": "http://www.ufpt.com/20221231/role/statement-note-9-debt", "shortName": "Note 9 - Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 10 - Accrued Expenses", "menuCat": "Notes", "order": "16", "role": "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "shortName": "Note 10 - Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 11 - Income Tax", "menuCat": "Notes", "order": "17", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "shortName": "Note 11 - Income Tax", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Note 12 - Net Income Per Share", "menuCat": "Notes", "order": "18", "role": "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "shortName": "Note 12 - Net Income Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 13 - Share-based Compensation", "menuCat": "Notes", "order": "19", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "shortName": "Note 13 - Share-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 14 - Leases", "menuCat": "Notes", "order": "20", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases", "shortName": "Note 14 - Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 15 - Other Long-term Liabilities", "menuCat": "Notes", "order": "21", "role": "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "shortName": "Note 15 - Other Long-term Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 16 - Commitments and Contingencies", "menuCat": "Notes", "order": "22", "role": "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "shortName": "Note 16 - Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 17 - Employee Benefit Plans", "menuCat": "Notes", "order": "23", "role": "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "shortName": "Note 17 - Employee Benefit Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 18 - Fair Value of Financial Instruments", "menuCat": "Notes", "order": "24", "role": "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "shortName": "Note 18 - Fair Value of Financial Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Note 19 - Segment Reporting", "menuCat": "Notes", "order": "25", "role": "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "shortName": "Note 19 - Segment Reporting", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited)", "menuCat": "Notes", "order": "26", "role": "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "shortName": "Note 20 - Quarterly Financial Information (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Schedule II - Valuation and Qualifying Accounts", "menuCat": "Notes", "order": "27", "role": "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "shortName": "Schedule II - Valuation and Qualifying Accounts", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "28", "role": "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies", "shortName": "Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "shortName": "Note 1 - Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Balance Sheets (Parentheticals)", "menuCat": "Statements", "order": "3", "role": "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals", "shortName": "Consolidated Balance Sheets (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 2 - Acquisitions and Divestiture (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "shortName": "Note 2 - Acquisitions and Divestiture (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 3 - Revenue Recognition (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "shortName": "Note 3 - Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 4 - Supplemental Cash Flow Information (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "shortName": "Note 4 - Supplemental Cash Flow Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "shortName": "Note 5 - Receivables and Allowance for Credit Losses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 6 - Inventories (Tables)", "menuCat": "Tables", "order": "34", "role": "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "shortName": "Note 6 - Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Tables)", "menuCat": "Tables", "order": "35", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "shortName": "Note 7 - Goodwill and Other Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 8 - Property, Plant and Equipment (Tables)", "menuCat": "Tables", "order": "36", "role": "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "shortName": "Note 8 - Property, Plant and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 9 - Debt (Tables)", "menuCat": "Tables", "order": "37", "role": "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "shortName": "Note 9 - Debt (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 10 - Accrued Expenses (Tables)", "menuCat": "Tables", "order": "38", "role": "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "shortName": "Note 10 - Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 11 - Income Tax (Tables)", "menuCat": "Tables", "order": "39", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "shortName": "Note 11 - Income Tax (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Statements of Income", "menuCat": "Statements", "order": "4", "role": "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "shortName": "Consolidated Statements of Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 12 - Net Income Per Share (Tables)", "menuCat": "Tables", "order": "40", "role": "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "shortName": "Note 12 - Net Income Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 13 - Share-based Compensation (Tables)", "menuCat": "Tables", "order": "41", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "shortName": "Note 13 - Share-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:LeasesRightofuseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 14 - Leases (Tables)", "menuCat": "Tables", "order": "42", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "shortName": "Note 14 - Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:LeasesRightofuseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "us-gaap:OtherLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Note 15 - Other Long-term Liabilities (Tables)", "menuCat": "Tables", "order": "43", "role": "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "shortName": "Note 15 - Other Long-term Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:OtherLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 18 - Fair Value of Financial Instruments (Tables)", "menuCat": "Tables", "order": "44", "role": "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "shortName": "Note 18 - Fair Value of Financial Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 19 - Segment Reporting (Tables)", "menuCat": "Tables", "order": "45", "role": "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "shortName": "Note 19 - Segment Reporting (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) (Tables)", "menuCat": "Tables", "order": "46", "role": "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "shortName": "Note 20 - Quarterly Financial Information (Unaudited) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "046 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables)", "menuCat": "Tables", "order": "47", "role": "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "shortName": "Schedule II - Valuation and Qualifying Accounts (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ResearchAndDevelopmentExpensePolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ResearchAndDevelopmentExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "047 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Details Textual)", "menuCat": "Details", "order": "48", "role": "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "shortName": "Note 1 - Summary of Significant Accounting Policies (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ResearchAndDevelopmentExpensePolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ResearchAndDevelopmentExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "048 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)", "menuCat": "Details", "order": "49", "role": "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "shortName": "Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-CommonStockOutstandingMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Statements of Stockholders' Equity", "menuCat": "Statements", "order": "5", "role": "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity", "shortName": "Consolidated Statements of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-CommonStockOutstandingMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GainLossOnSaleOfBusiness", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "049 - Disclosure - Note 2 - Acquisitions and Divestiture (Details Textual)", "menuCat": "Details", "order": "50", "role": "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "shortName": "Note 2 - Acquisitions and Divestiture (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-03-16_2022-03-16_BusinessAcquisitionAxis-AdvantMedicalMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "050 - Disclosure - Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details)", "menuCat": "Details", "order": "51", "role": "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "shortName": "Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-03-17_2022-03-17_BusinessAcquisitionAxis-AdvantMedicalMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferredOther1", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AdvantMedicalMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "051 - Disclosure - Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details)", "menuCat": "Details", "order": "52", "role": "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "shortName": "Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_BusinessAcquisitionAxis-AdvantMedicalMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_FairValueByAssetClassAxis-DeferredRevenueMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "052 - Disclosure - Note 3 - Revenue Recognition (Details Textual)", "menuCat": "Details", "order": "53", "role": "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual", "shortName": "Note 3 - Revenue Recognition (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_FairValueByAssetClassAxis-DeferredRevenueMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-10-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "053 - Disclosure - Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details)", "menuCat": "Details", "order": "54", "role": "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "shortName": "Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_ProductOrServiceAxis-ProductMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "054 - Disclosure - Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details)", "menuCat": "Details", "order": "55", "role": "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "shortName": "Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestPaidNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "055 - Disclosure - Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)", "menuCat": "Details", "order": "56", "role": "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "shortName": "Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestPaidNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "056 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details)", "menuCat": "Details", "order": "57", "role": "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "shortName": "Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "057 - Disclosure - Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details)", "menuCat": "Details", "order": "58", "role": "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "shortName": "Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2020-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "058 - Disclosure - Note 6 - Inventories - Summary of Inventory (Details)", "menuCat": "Details", "order": "59", "role": "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details", "shortName": "Note 6 - Inventories - Summary of Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "6", "role": "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "059 - Disclosure - Note 7 - Goodwill and Other Intangible Assets (Details Textual)", "menuCat": "Details", "order": "60", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual", "shortName": "Note 7 - Goodwill and Other Intangible Assets (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "060 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)", "menuCat": "Details", "order": "61", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "shortName": "Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-4", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "061 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details)", "menuCat": "Details", "order": "62", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "shortName": "Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "062 - Disclosure - Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details)", "menuCat": "Details", "order": "63", "role": "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "shortName": "Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "063 - Disclosure - Note 8 - Property, Plant and Equipment (Details Textual)", "menuCat": "Details", "order": "64", "role": "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual", "shortName": "Note 8 - Property, Plant and Equipment (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "064 - Disclosure - Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details)", "menuCat": "Details", "order": "65", "role": "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "shortName": "Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:LongTermDebt", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "065 - Disclosure - Note 9 - Debt (Details Textual)", "menuCat": "Details", "order": "66", "role": "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "shortName": "Note 9 - Debt (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2018-02-01_DerivativeInstrumentRiskAxis-InterestRateSwapMember", "decimals": "-7", "lang": null, "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:LongTermDebt", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "066 - Disclosure - Note 9 - Debt - Long-term Debt (Details)", "menuCat": "Details", "order": "67", "role": "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "shortName": "Note 9 - Debt - Long-term Debt (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R68": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "067 - Disclosure - Note 9 - Debt - Schedule of Maturity (Details)", "menuCat": "Details", "order": "68", "role": "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details", "shortName": "Note 9 - Debt - Schedule of Maturity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedSalariesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "068 - Disclosure - Note 10 - Accrued Expenses - Accrued Expenses (Details)", "menuCat": "Details", "order": "69", "role": "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details", "shortName": "Note 10 - Accrued Expenses - Accrued Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccruedSalariesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "006 - Disclosure - Note 1 - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "7", "role": "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "shortName": "Note 1 - Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsGross", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "069 - Disclosure - Note 11 - Income Tax (Details Textual)", "menuCat": "Details", "order": "70", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "shortName": "Note 11 - Income Tax (Details Textual)", "subGroupType": "details", "uniqueAnchor": null }, "R71": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "070 - Disclosure - Note 11 - Income Tax - Income Tax Provision (Details)", "menuCat": "Details", "order": "71", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details", "shortName": "Note 11 - Income Tax - Income Tax Provision (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "071 - Disclosure - Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details)", "menuCat": "Details", "order": "72", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "shortName": "Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "072 - Disclosure - Note 11 - Income Tax - Income Tax Rate Reconciliation (Details)", "menuCat": "Details", "order": "73", "role": "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details", "shortName": "Note 11 - Income Tax - Income Tax Rate Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R74": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "073 - Disclosure - Note 12 - Net Income Per Share (Details Textual)", "menuCat": "Details", "order": "74", "role": "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual", "shortName": "Note 12 - Net Income Per Share (Details Textual)", "subGroupType": "details", "uniqueAnchor": null }, "R75": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "074 - Disclosure - Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)", "menuCat": "Details", "order": "75", "role": "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "shortName": "Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:ProceedsFromStockOptionsExercised", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "075 - Disclosure - Note 13 - Share-based Compensation (Details Textual)", "menuCat": "Details", "order": "76", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "shortName": "Note 13 - Share-based Compensation (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember", "decimals": "-5", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "076 - Disclosure - Note 13 - Share-based Compensation - Compensation Cost (Details)", "menuCat": "Details", "order": "77", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "shortName": "Note 13 - Share-based Compensation - Compensation Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "077 - Disclosure - Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details)", "menuCat": "Details", "order": "78", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "shortName": "Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R79": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "078 - Disclosure - Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details)", "menuCat": "Details", "order": "79", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "shortName": "Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "USDPerShare", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "007 - Disclosure - Note 2 - Acquisitions and Divestiture", "menuCat": "Notes", "order": "8", "role": "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "shortName": "Note 2 - Acquisitions and Divestiture", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "079 - Disclosure - Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details)", "menuCat": "Details", "order": "80", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "shortName": "Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "080 - Disclosure - Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details)", "menuCat": "Details", "order": "81", "role": "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "shortName": "Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:SubleaseIncome", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "081 - Disclosure - Note 14 - Leases (Details Textual)", "menuCat": "Details", "order": "82", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual", "shortName": "Note 14 - Leases (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:SubleaseIncome", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R83": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:OperatingAndFinanceLeasesRightofuseAssets", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "082 - Disclosure - Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details)", "menuCat": "Details", "order": "83", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "shortName": "Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:LeasesRightofuseAssetsAndLiabilitiesTableTextBlock", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31_BalanceSheetLocationAxis-RightOfUseAssetsMember", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R84": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "083 - Disclosure - Note 14 - Leases - Lease Cost (Details)", "menuCat": "Details", "order": "84", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details", "shortName": "Note 14 - Leases - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R85": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:LesseeOperatingAndFinanceLeasesLiabilityMaturityTableTextBlock", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "084 - Disclosure - Note 14 - Leases - Aggregate Future Lease Payments (Details)", "menuCat": "Details", "order": "85", "role": "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details", "shortName": "Note 14 - Leases - Aggregate Future Lease Payments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:LesseeOperatingAndFinanceLeasesLiabilityMaturityTableTextBlock", "ufpt:LesseeOperatingAndFinanceLeasesTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R86": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "us-gaap:OtherLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "085 - Disclosure - Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details)", "menuCat": "Details", "order": "86", "role": "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "shortName": "Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "us-gaap:OtherLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R87": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanCostRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "086 - Disclosure - Note 17 - Employee Benefit Plans (Details Textual)", "menuCat": "Details", "order": "87", "role": "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual", "shortName": "Note 17 - Employee Benefit Plans (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanCostRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R88": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:PresentValueOfNoncompetitionAgreement", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "087 - Disclosure - Note 18 - Fair Value of Financial Instruments (Details Textual)", "menuCat": "Details", "order": "88", "role": "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "shortName": "Note 18 - Fair Value of Financial Instruments (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2021-01-01_2021-12-31_BusinessAcquisitionAxis-ContechMedicalIncAndDasMedicalMember", "decimals": "-6", "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R89": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:PresentValueOfNoncompetitionAgreement", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "088 - Disclosure - Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)", "menuCat": "Details", "order": "89", "role": "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "shortName": "Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2022-12-31_BalanceSheetLocationAxis-OtherCurrentLiabilitiesMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "lang": null, "name": "us-gaap:DerivativeFairValueOfDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "008 - Disclosure - Note 3 - Revenue Recognition", "menuCat": "Notes", "order": "9", "role": "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "shortName": "Note 3 - Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R90": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2021-01-01_2021-03-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:NumberOfMajorCustomers", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "089 - Disclosure - Note 19 - Segment Reporting (Details Textual)", "menuCat": "Details", "order": "90", "role": "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "shortName": "Note 19 - Segment Reporting (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2021-01-01_2021-03-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember", "decimals": "-3", "first": true, "lang": null, "name": "ufpt:NumberOfMajorCustomers", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R91": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-10-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "090 - Disclosure - Note 19 - Segment Reporting - Net Sales by Market (Details)", "menuCat": "Details", "order": "91", "role": "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "shortName": "Note 19 - Segment Reporting - Net Sales by Market (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-01-01_2022-12-31", "decimals": "0", "lang": null, "name": "ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R92": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-10-01_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "091 - Disclosure - Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)", "menuCat": "Details", "order": "92", "role": "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "shortName": "Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "d_2022-10-01_2022-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:GrossProfit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R93": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2021-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "092 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details)", "menuCat": "Details", "order": "93", "role": "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details", "shortName": "Schedule II - Valuation and Qualifying Accounts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "baseRef": "ufpt20221231_10k.htm", "contextRef": "i_2019-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } } }, "segmentCount": 70, "tag": { "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r671", "r672", "r673" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r671", "r672", "r673" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r671", "r672", "r673" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r671", "r672", "r673" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "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": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r674" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-document-and-entity-information", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "http://www.ufpt.com/20221231/role/statement-note-14-leases", "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual", "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r675" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r669" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r676" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r671", "r672", "r673" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-document-and-entity-information", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "http://www.ufpt.com/20221231/role/statement-note-14-leases", "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual", "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r668" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r670" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "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://www.ufpt.com/20221231/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r326", "r654", "r720", "r776" ], "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://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r363", "r364", "r365", "r366", "r441", "r573", "r589", "r606", "r607", "r650", "r660", "r667", "r718", "r768", "r769", "r770", "r771", "r772", "r773" ], "lang": { "en-us": { "role": { "documentation": "Upper limit of the provided range.", "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r363", "r364", "r365", "r366", "r441", "r573", "r589", "r606", "r607", "r650", "r660", "r667", "r718", "r768", "r769", "r770", "r771", "r772", "r773" ], "lang": { "en-us": { "role": { "documentation": "Lower limit of the provided range.", "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r326", "r654", "r720", "r776" ], "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://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r323", "r576", "r653", "r666", "r713", "r714", "r720", "r775" ], "lang": { "en-us": { "role": { "documentation": "Information by product and service, or group of similar products and similar services.", "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r323", "r576", "r653", "r666", "r713", "r714", "r720", "r775" ], "lang": { "en-us": { "role": { "documentation": "Product or service, or a group of similar products or similar services.", "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r363", "r364", "r365", "r366", "r433", "r441", "r470", "r471", "r472", "r572", "r573", "r589", "r606", "r607", "r650", "r660", "r667", "r712", "r718", "r769", "r770", "r771", "r772", "r773" ], "lang": { "en-us": { "role": { "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r363", "r364", "r365", "r366", "r433", "r441", "r470", "r471", "r472", "r572", "r573", "r589", "r606", "r607", "r650", "r660", "r667", "r712", "r718", "r769", "r770", "r771", "r772", "r773" ], "lang": { "en-us": { "role": { "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "srt_RestatementAxis": { "auth_ref": [ "r203", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r265", "r266", "r267", "r268", "r269", "r270", "r286", "r336", "r337", "r505", "r529", "r530", "r531", "r532", "r550", "r567", "r568", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599" ], "lang": { "en-us": { "role": { "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.", "label": "Revision of Prior Period [Axis]" } } }, "localname": "RestatementAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "srt_RestatementDomain": { "auth_ref": [ "r203", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r265", "r266", "r267", "r268", "r269", "r270", "r286", "r336", "r337", "r505", "r529", "r530", "r531", "r532", "r550", "r567", "r568", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599" ], "lang": { "en-us": { "role": { "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.", "label": "Revision of Prior Period [Domain]" } } }, "localname": "RestatementDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "srt_RevisionOfPriorPeriodReclassificationAdjustmentMember": { "auth_ref": [ "r204" ], "lang": { "en-us": { "role": { "documentation": "Cumulative increase (decrease) to previously issued financial statements for reclassification. Excludes adjustment for reclassification from amendment to accounting standards.", "label": "Revision of Prior Period, Reclassification, Adjustment [Member]" } } }, "localname": "RevisionOfPriorPeriodReclassificationAdjustmentMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r270", "r442", "r677", "r695" ], "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]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "auth_ref": [ "r254", "r626" ], "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]" } } }, "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "xbrltype": "textBlockItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r270", "r442", "r677", "r678", "r695" ], "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]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "stringItemType" }, "ufpt_AccountsReceivableAllowanceForCreditLossSaleOfBusiness": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents amount of decrease from the sale of business.", "label": "ufpt_AccountsReceivableAllowanceForCreditLossSaleOfBusiness", "negatedLabel": "Decrease due to sale of Molded Fiber business" } } }, "localname": "AccountsReceivableAllowanceForCreditLossSaleOfBusiness", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details" ], "xbrltype": "monetaryItemType" }, "ufpt_AccruedCustomerRebatesCurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents accrued customer rebates.", "label": "Accrued customer rebates" } } }, "localname": "AccruedCustomerRebatesCurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "ufpt_AdvantMedicalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information related to Advant Medicaal, Inc..", "label": "Advant Medical [Member]" } } }, "localname": "AdvantMedicalMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "ufpt_AerospaceDefenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Aerospace & Defense group of major customers.", "label": "Aerospace & Defense [Member]" } } }, "localname": "AerospaceDefenseMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_AggregateDeferredTaxLiabilitiesNoncurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount, in aggregate, of the deferred tax liability attributable to taxable temporary differences, net of deferred tax asset attributable to deductible temporary differences and carryforwards net of valuation allowances", "label": "ufpt_AggregateDeferredTaxLiabilitiesNoncurrent", "negatedTotalLabel": "Net long-term deferred tax assets (liabilities)" } } }, "localname": "AggregateDeferredTaxLiabilitiesNoncurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_AutomotiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Automotive group of major customers.", "label": "Automotive [Member]" } } }, "localname": "AutomotiveMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_BloombergShorttermBankYieldIndexRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Bloomberg Short-term Bank Yield Index Rate.", "label": "Bloomberg Short-term Bank Yield Index Rate [Member]" } } }, "localname": "BloombergShorttermBankYieldIndexRateMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_BusinessCombinationAgreementTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents agreement term for business combination.", "label": "ufpt_BusinessCombinationAgreementTerm", "terseLabel": "Business Combination, Agreement Term (Year)" } } }, "localname": "BusinessCombinationAgreementTerm", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "durationItemType" }, "ufpt_BusinessCombinationNoncompeteAgreementLiabilityIncurred": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred about non-compete agreement by the acquirer as part of consideration transferred in a business combination.", "label": "Non-compete agreements" } } }, "localname": "BusinessCombinationNoncompeteAgreementLiabilityIncurred", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets acquired, including goodwill at the acquisition date.", "label": "Total identifiable assets", "totalLabel": "Total identifiable assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities", "negatedLabel": "Accrued expenses" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredTaxes": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred taxes assumed at the acquisition date.", "label": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredTaxes", "negatedLabel": "Deferred taxes" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredTaxes", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesIncomeTax": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for income taxes assumed at the acquisition date.", "label": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesIncomeTax", "negatedTerseLabel": "Income taxes" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesIncomeTax", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseRightofuseAssets": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 5.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease right-of-use assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Lease right of use assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseRightofuseAssets", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_BusinessCombinationWorkingCapitalAdjustment": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of working capital adjustment from a business acquisition.", "label": "ufpt_BusinessCombinationWorkingCapitalAdjustment", "negatedLabel": "Working capital adjustment", "terseLabel": "Business Combination, Working Capital Adjustment" } } }, "localname": "BusinessCombinationWorkingCapitalAdjustment", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "ufpt_CommonStockOutstandingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents common stock outstanding.", "label": "Common Stock Outstanding [Member]" } } }, "localname": "CommonStockOutstandingMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "ufpt_ConsumerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Consumer group of major customers.", "label": "Consumer [Member]" } } }, "localname": "ConsumerMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_ContechMedicalIncAndDasMedicalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Contech Medical, Inc and DAS Medical.", "label": "Contech Medical, Inc and DAS Medical [Member]" } } }, "localname": "ContechMedicalIncAndDasMedicalMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "domainItemType" }, "ufpt_ContechMedicalIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Contech Medical, Inc.", "label": "Contech Medical, Inc [Member]" } } }, "localname": "ContechMedicalIncMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "ufpt_ContractWithCustomerAssetIncreaseDecreaseForUnbilledRevenueRecognized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, from unbilled revenue recognized.", "label": "Increases due to revenue recognized, not invoiced to customers" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseForUnbilledRevenueRecognized", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_ContractWithCustomerLiabilityDecreaseForSaleOfBusiness": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amount of decrease due to sale of business", "label": "Decrease due to sale of Molded Fiber" } } }, "localname": "ContractWithCustomerLiabilityDecreaseForSaleOfBusiness", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received.", "label": "Increases due to consideration received from customers" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_ContractWithCustomerLiabilityRevenueRecognizedDuringPeriod": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized during period including amounts previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.)", "label": "ufpt_ContractWithCustomerLiabilityRevenueRecognizedDuringPeriod", "negatedLabel": "Revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognizedDuringPeriod", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_CustomerContractsAndRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents customer contracts and relationships.", "label": "Customer Contracts and Relationships [Member]" } } }, "localname": "CustomerContractsAndRelationshipsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "ufpt_DasMedicalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents DAS Medical.", "label": "DAS Medical [Member]" } } }, "localname": "DasMedicalMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "ufpt_DeferredRevenueMember": { "auth_ref": [], "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.", "label": "Deferred Revenue [Member]" } } }, "localname": "DeferredRevenueMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_DeferredTaxAssetsLeaseLiability": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 5.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 lease liability.", "label": "Lease liability" } } }, "localname": "DeferredTaxAssetsLeaseLiability", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.", "label": "Compensation programs" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_DeferredTaxLiabilitiesRightOfUseAsset": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from right of use asset.", "label": "ufpt_DeferredTaxLiabilitiesRightOfUseAsset", "negatedLabel": "Right of use asset" } } }, "localname": "DeferredTaxLiabilitiesRightOfUseAsset", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_DisposalGroupIncludingDiscontinuedOperationConsiderationHeldInEscrow": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of consideration for disposal group including discontinued operation held in escrow.", "label": "ufpt_DisposalGroupIncludingDiscontinuedOperationConsiderationHeldInEscrow", "terseLabel": "Disposal Group, Including Discontinued Operation, Consideration, Held in Escrow" } } }, "localname": "DisposalGroupIncludingDiscontinuedOperationConsiderationHeldInEscrow", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "ufpt_EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustmentsPercent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 return to provision adjustments.", "label": "Return to provision adjustments" } } }, "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustmentsPercent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 the tax benefit from equity-based compensation costs.", "label": "Excess tax benefits on equity awards" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "ufpt_ElectronicsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Electronics group of major customers.", "label": "Electronics [Member]" } } }, "localname": "ElectronicsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_EmployeeAndNonemployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contract that gives the holder the right, but not the obligation, either to purchase or to sell a certain number of shares of stock at a predetermined price for a specified period of time.", "label": "Employee and Nonemployee Stock Option [Member]" } } }, "localname": "EmployeeAndNonemployeeStockOptionMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "domainItemType" }, "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details": { "order": 0.0, "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the next fiscal year following the latest fiscal year.", "label": "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths", "terseLabel": "2023" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details": { "order": 2.0, "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the third fiscal year following the latest fiscal year.", "label": "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree", "terseLabel": "2025" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details": { "order": 1.0, "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the second fiscal year following the latest fiscal year.", "label": "ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo", "terseLabel": "2024" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "ufpt_EngineeringAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to engineering and development.", "label": "Engineering and Development [Member]" } } }, "localname": "EngineeringAndDevelopmentMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "domainItemType" }, "ufpt_FinanceLeaseRightOfUseAssetsNoncash": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of finance lease right of use assets, noncash.", "label": "Finance lease right of use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetsNoncash", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "ufpt_FurnitureFixturesAndComputersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Furniture, Fixtures, and Computers [Member]" } } }, "localname": "FurnitureFixturesAndComputersMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "ufpt_GoodwillAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Goodwill Agreement.", "label": "Goodwill Agreement [Member]" } } }, "localname": "GoodwillAgreementMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_IncreaseInFinanceLeaseLiability": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase or decrease in Finance lease liability.", "label": "Finance lease liabilities" } } }, "localname": "IncreaseInFinanceLeaseLiability", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "ufpt_IncreaseInOperatingLeaseLiability": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase or decrease in operating lease liability.", "label": "Operating lease liabilities" } } }, "localname": "IncreaseInOperatingLeaseLiability", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "ufpt_IndustrialMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Industrial group of major customers.", "label": "Industrial [Member]" } } }, "localname": "IndustrialMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_IntellectualPropertyTradenameAndBrandMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents intellectual property/tradename and brand.", "label": "Intellectual Property/ Tradename and Brand [Member]" } } }, "localname": "IntellectualPropertyTradenameAndBrandMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "domainItemType" }, "ufpt_LeaseLiabilitiesCurrentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing current lease liabilities.", "label": "Lease Liabilities, Current [Member]" } } }, "localname": "LeaseLiabilitiesCurrentMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "domainItemType" }, "ufpt_LeaseLiabilitiesNoncurrentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing lease liabilities, noncurrent.", "label": "Lease Liabilities, Noncurrent [Member]" } } }, "localname": "LeaseLiabilitiesNoncurrentMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "domainItemType" }, "ufpt_LeasesRightofuseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the assets and liabilities of operating and finance leases.", "label": "Leases, Right-of-Use Assets and Liabilities [Table Text block]" } } }, "localname": "LeasesRightofuseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_LesseeOperatingAndFinanceLeasesLiabilityMaturityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating and finance lease liabilities. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and finance lease liabilities recognized in statement of financial position.", "label": "Lessee, Operating and Finance Leases, Liability, Maturity [Table Text Block]" } } }, "localname": "LesseeOperatingAndFinanceLeasesLiabilityMaturityTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_LesseeOperatingAndFinanceLeasesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of operating and finance leases and maturity analysis of operating and finance lease liabilities.", "label": "Lessee, Operating and Finance Leases [Text Block]" } } }, "localname": "LesseeOperatingAndFinanceLeasesTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases" ], "xbrltype": "textBlockItemType" }, "ufpt_LonglivedAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents long-lived assets.", "label": "Long-Lived Assets [Member]" } } }, "localname": "LonglivedAssetsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_MedicalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Medical group of major customers.", "label": "Medical [Member]" } } }, "localname": "MedicalMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "domainItemType" }, "ufpt_MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents molded fiber business (\u201cMFT\u201d) and related real estate in Iowa.", "label": "molded fiber business (\u201cMFT\u201d) and related real estate in Iowa [Member]" } } }, "localname": "MoldedFiberBusinessMFTAndRelatedRealEstateInIowaMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_NoncashOrPartNoncashAcquisitionContingentConsiderationLiabilityAssumed": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of debt that contingent consideration liability assumes in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition.", "label": "Accrued contingent consideration" } } }, "localname": "NoncashOrPartNoncashAcquisitionContingentConsiderationLiabilityAssumed", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "ufpt_NoncompetitionAgreementPaymentLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation incurred for non-competition agreement payment, classified as current.", "label": "Current portion of present value of non-competition payments" } } }, "localname": "NoncompetitionAgreementPaymentLiabilityCurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "ufpt_NoncompetitionAgreementPaymentLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation incurred for non-competition agreement payment, classified as noncurrent.", "label": "ufpt_NoncompetitionAgreementPaymentLiabilityNoncurrent", "terseLabel": "Present value of non-competition payments" } } }, "localname": "NoncompetitionAgreementPaymentLiabilityNoncurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_NoncompetitionAgreementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents non-competition agreement.", "label": "Non-Competition Agreements [Member]" } } }, "localname": "NoncompetitionAgreementsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_NonemployeeDirectorStockIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Non-Employee Director Stock Incentive Plan of the entity.", "label": "Nonemployee Director Stock Incentive Plan [Member]" } } }, "localname": "NonemployeeDirectorStockIncentivePlanMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_NumberOfMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc.", "label": "ufpt_NumberOfMajorCustomers", "terseLabel": "Number of Major Customers" } } }, "localname": "NumberOfMajorCustomers", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "integerItemType" }, "ufpt_OneCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "information pertaining to one customer.", "label": "One Customer [Member]" } } }, "localname": "OneCustomerMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_OperatingAndFinanceLeasesLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating and finance leases, classified as current.", "label": "Lease liabilities", "totalLabel": "Total lease liabilities - current" } } }, "localname": "OperatingAndFinanceLeasesLiabilityCurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_OperatingAndFinanceLeasesLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating and finance leases, classified as noncurrent.", "label": "ufpt_OperatingAndFinanceLeasesLiabilityNoncurrent", "terseLabel": "Lease liabilities", "totalLabel": "Total lease liabilities - long-term" } } }, "localname": "OperatingAndFinanceLeasesLiabilityNoncurrent", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_OperatingAndFinanceLeasesRightofuseAssets": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of of right-of-use asset from assets under operating and finance leases.", "label": "Right of use assets", "totalLabel": "Total ROU assets" } } }, "localname": "OperatingAndFinanceLeasesRightofuseAssets", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_OtherLiabilitiesNoncurrentOther": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of other noncurrent liabilities, classified as other.", "label": "ufpt_OtherLiabilitiesNoncurrentOther", "verboseLabel": "Other" } } }, "localname": "OtherLiabilitiesNoncurrentOther", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details" ], "xbrltype": "monetaryItemType" }, "ufpt_PresentValueOfNoncompetitionAgreement": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of non-competition agreement.", "label": "Present value of non-competition payments", "terseLabel": "Present Value of Non-competition Agreement", "verboseLabel": "Present value of non-competition payments" } } }, "localname": "PresentValueOfNoncompetitionAgreement", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the estimated useful lives of property, plant and equipment held by the company.", "label": "Property, Plant and Equipment, Estimated Useful Lives [Table Text Block]" } } }, "localname": "PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of revenue, including tax collected from customer, from satisfaction of performance obligation by transferring promised good or service to customer.", "label": "Percentage of concentration risk" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTaxPercentage", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details" ], "xbrltype": "percentItemType" }, "ufpt_RightOfUseAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing operating and finance leases, right of use assets.", "label": "Right of Use Assets [Member]" } } }, "localname": "RightOfUseAssetsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "domainItemType" }, "ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed. The amounts are aggregated by award type.", "label": "Schedule of Employee Service Share Based Compensation Allocation of Recognized Period Costs, By Award Type [Table Text Block]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of future share-based compensation expense expected to be recorded in the succeeding fiscal years for equity securities granted.", "label": "Schedule of Future Share-based Compensation Expense [Table Text Block]" } } }, "localname": "ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_SecondAmendedAndRestatedCreditAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents second amended and restated credit agreement.", "label": "Second Amended and Restated Credit Agreement [Member]" } } }, "localname": "SecondAmendedAndRestatedCreditAgreementMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_SecuredRevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents secured revolving credit facility.", "label": "Secured Revolving Credit Facility [Member]" } } }, "localname": "SecuredRevolvingCreditFacilityMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_SecuredTermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents secured term loan.", "label": "Secured Term Loan [Member]" } } }, "localname": "SecuredTermLoanMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of the stop loss per insured person under the partially self-insured health insurance program.", "label": "ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount", "terseLabel": "Self-insured Health Insurance Program, Stop Loss Amount" } } }, "localname": "SelfIinsuredHealthInsuranceProgramStopLossAmount", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationAverageMarketPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the average price per share of shares the employees use to repay the employer.", "label": "ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationAverageMarketPrice", "terseLabel": "Shares Paid For Tax Withholding For Share Based Compensation, Average Market Price (in dollars per share)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensationAverageMarketPrice", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "perShareItemType" }, "ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the market price per share of shares used by the employees to repay the employer.", "label": "ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice", "terseLabel": "Shares Paid for Tax Withholding for Share Based Compensation Market Price (in dollars per share)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "perShareItemType" }, "ufpt_ShippingAndHandlingCostsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.", "label": "Shipping and Handling Costs [Policy Text Block]" } } }, "localname": "ShippingAndHandlingCostsPolicyTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "ufpt_StockholdersEquityTreasuryStockPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its treasury stock transactions.", "label": "Stockholders Equity, Treasury Stock [Policy Text Block]" } } }, "localname": "StockholdersEquityTreasuryStockPolicyTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "ufpt_SubsidiaryGuarantorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to the subsidiary guarantors granting the credit agreement to the company.", "label": "Subsidiary Guarantors [Member]" } } }, "localname": "SubsidiaryGuarantorsMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the allowance for doubtful accounts and revenue adjustments.", "label": "Summary of Allowance for Doubtful Accounts and Revenue Adjustments [Table Text Block]" } } }, "localname": "SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "xbrltype": "textBlockItemType" }, "ufpt_TermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to term loans.", "label": "Term Loan [Member]" } } }, "localname": "TermLoanMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "ufpt_The2003IncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the reporting entity's \"2003 Incentive Plan.\"", "label": "The 2003 Incentive Plan [Member]" } } }, "localname": "The2003IncentivePlanMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "ufpt_ToolingAndMachineryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to tooling and machinery.", "label": "Tooling and Machinery [Member]" } } }, "localname": "ToolingAndMachineryMember", "nsuri": "http://www.ufpt.com/20221231", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "domainItemType" }, "ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)" } } }, "localname": "statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 1 - Summary of Significant Accounting Policies" } } }, "localname": "statement-statement-note-1-summary-of-significant-accounting-policies-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-10-accrued-expenses-accrued-expenses-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Accrued Expenses - Accrued Expenses (Details)" } } }, "localname": "statement-statement-note-10-accrued-expenses-accrued-expenses-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-10-accrued-expenses-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Accrued Expenses" } } }, "localname": "statement-statement-note-10-accrued-expenses-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Income Tax - Deferred Tax Assets and Liabilities (Details)" } } }, "localname": "statement-statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-11-income-tax-income-tax-provision-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Income Tax - Income Tax Provision (Details)" } } }, "localname": "statement-statement-note-11-income-tax-income-tax-provision-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Income Tax - Income Tax Rate Reconciliation (Details)" } } }, "localname": "statement-statement-note-11-income-tax-income-tax-rate-reconciliation-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-11-income-tax-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Income Tax" } } }, "localname": "statement-statement-note-11-income-tax-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-12-net-income-per-share-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Net Income Per Share" } } }, "localname": "statement-statement-note-12-net-income-per-share-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)" } } }, "localname": "statement-statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation - Black-Scholes Option Pricing Model (Details)" } } }, "localname": "statement-statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-compensation-cost-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation - Compensation Cost (Details)" } } }, "localname": "statement-statement-note-13-sharebased-compensation-compensation-cost-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation - Future Share-based Compensation Expense (Details)" } } }, "localname": "statement-statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation - Restricted Stock Unit Activity (Details)" } } }, "localname": "statement-statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation - Summary of Stock Option Activity (Details)" } } }, "localname": "statement-statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-13-sharebased-compensation-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Share-based Compensation" } } }, "localname": "statement-statement-note-13-sharebased-compensation-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-14-leases-aggregate-future-lease-payments-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Aggregate Future Lease Payments (Details)" } } }, "localname": "statement-statement-note-14-leases-aggregate-future-lease-payments-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-14-leases-lease-cost-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Lease Cost (Details)" } } }, "localname": "statement-statement-note-14-leases-lease-cost-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases - Right-of-Use Assets and Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-14-leases-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 14 - Leases" } } }, "localname": "statement-statement-note-14-leases-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Other Long-term Liabilities - Other Long-term Liabilities (Details)" } } }, "localname": "statement-statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-15-other-longterm-liabilities-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 15 - Other Long-term Liabilities" } } }, "localname": "statement-statement-note-15-other-longterm-liabilities-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)" } } }, "localname": "statement-statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-18-fair-value-of-financial-instruments-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 18 - Fair Value of Financial Instruments" } } }, "localname": "statement-statement-note-18-fair-value-of-financial-instruments-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-19-segment-reporting-net-sales-by-market-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 19 - Segment Reporting - Net Sales by Market (Details)" } } }, "localname": "statement-statement-note-19-segment-reporting-net-sales-by-market-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-19-segment-reporting-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 19 - Segment Reporting" } } }, "localname": "statement-statement-note-19-segment-reporting-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-2-acquisition-pro-forma-information-unaudited-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Acquisition - Pro Forma Information (Unaudited) (Details)" } } }, "localname": "statement-statement-note-2-acquisition-pro-forma-information-unaudited-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-2-acquisitions-and-divestiture-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Acquisitions and Divestiture" } } }, "localname": "statement-statement-note-2-acquisitions-and-divestiture-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Acquisitions - Assets Acquires and Liabilities Assumed (Details)" } } }, "localname": "statement-statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 20 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)" } } }, "localname": "statement-statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-20-quarterly-financial-information-unaudited-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 20 - Quarterly Financial Information (Unaudited)" } } }, "localname": "statement-statement-note-20-quarterly-financial-information-unaudited-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-3-revenue-recognition-contract-assets-and-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Revenue Recognition - Contract Assets and Liabilities (Details)" } } }, "localname": "statement-statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Revenue Recognition - Revenue Disaggregated by the Major Types of Goods and Services Sold (Details)" } } }, "localname": "statement-statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-3-revenue-recognition-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Revenue Recognition" } } }, "localname": "statement-statement-note-3-revenue-recognition-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)" } } }, "localname": "statement-statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-4-supplemental-cash-flow-information-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Supplemental Cash Flow Information" } } }, "localname": "statement-statement-note-4-supplemental-cash-flow-information-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Receivables and Allowance for Credit Losses - Receivables (Details)" } } }, "localname": "statement-statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Receivables and Allowance for Credit Losses - Summary of Allowance for Doubtful Accounts (Details)" } } }, "localname": "statement-statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-5-receivables-and-allowance-for-credit-losses-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Receivables and Allowance for Credit Losses" } } }, "localname": "statement-statement-note-5-receivables-and-allowance-for-credit-losses-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-6-inventories-summary-of-inventory-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Inventories - Summary of Inventory (Details)" } } }, "localname": "statement-statement-note-6-inventories-summary-of-inventory-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-6-inventories-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Inventories" } } }, "localname": "statement-statement-note-6-inventories-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Goodwill and Other Intangible Assets - Changes in Carrying Amount of Goodwill (Details)" } } }, "localname": "statement-statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Goodwill and Other Intangible Assets - Definite-lived Intangible Assets (Details)" } } }, "localname": "statement-statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Goodwill and Other Intangible Assets - Future Amortization of Intangible Assets (Details)" } } }, "localname": "statement-statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-7-goodwill-and-other-intangible-assets-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Goodwill and Other Intangible Assets" } } }, "localname": "statement-statement-note-7-goodwill-and-other-intangible-assets-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Property, Plant and Equipment - Property, Plant, and Equipment (Details)" } } }, "localname": "statement-statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-8-property-plant-and-equipment-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Property, Plant and Equipment" } } }, "localname": "statement-statement-note-8-property-plant-and-equipment-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-9-debt-longterm-debt-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt - Long-term Debt (Details)" } } }, "localname": "statement-statement-note-9-debt-longterm-debt-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-9-debt-schedule-of-maturity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt - Schedule of Maturity (Details)" } } }, "localname": "statement-statement-note-9-debt-schedule-of-maturity-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-note-9-debt-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt" } } }, "localname": "statement-statement-note-9-debt-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts (Details)" } } }, "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-details", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts" } } }, "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "ufpt_statement-statement-significant-accounting-policies-policies": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies" } } }, "localname": "statement-statement-significant-accounting-policies-policies", "nsuri": "http://www.ufpt.com/20221231", "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r22" ], "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]" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r21", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.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" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "auth_ref": [ "r700" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]" } } }, "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r218", "r328", "r329", "r629" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details": { "order": 0.0, "parentTag": "us-gaap_ReceivablesNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before 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\u2013trade" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r328", "r329" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.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": "Receivables, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r7", "r176", "r188" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 4.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": "us-gaap_AccruedIncomeTaxesCurrent", "terseLabel": "Income taxes payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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 expenses", "totalLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalariesCurrent": { "auth_ref": [ "r26", "r631" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": 0.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Compensation" } } }, "localname": "AccruedSalariesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r93", "r212" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details": { "order": 1.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": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r38", "r39", "r40", "r219", "r585", "r595", "r599" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 3.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 loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r37", "r40", "r153", "r568", "r590", "r591", "r682", "r683", "r684", "r692", "r693", "r694" ], "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]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r13", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r479", "r480", "r481", "r692", "r693", "r694", "r761" ], "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]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for restricted stock unit under share-based payment arrangement.", "label": "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition", "negatedLabel": "Net share settlement of restricted stock units" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "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": "Exercise of stock options" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r474" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "us-gaap_AllocatedShareBasedCompensationExpense", "verboseLabel": "Share-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r220", "r332", "r338", "r339", "r342" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "us-gaap_AllowanceForDoubtfulAccountsReceivable", "periodEndLabel": "Allowance - end of period", "periodStartLabel": "Allowance - beginning of period" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r220", "r332", "r338" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details": { "order": 1.0, "parentTag": "us-gaap_ReceivablesNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent", "negatedLabel": "Less allowance for credit losses" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r341" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs", "negatedLabel": "Amounts written off against the allowance, net of recoveries" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r59", "r82", "r88" ], "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": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of Intangible Assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r283" ], "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": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual" ], "xbrltype": "sharesItemType" }, "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": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]" } } }, "localname": "ArrangementsAndNonarrangementTransactionsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r174", "r187", "r216", "r245", "r304", "r314", "r319", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r524", "r527", "r540", "r665", "r716", "r717", "r766" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "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": "us-gaap_Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r207", "r224", "r245", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r524", "r527", "r540", "r665", "r716", "r717", "r766" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 7.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": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r445", "r446", "r447", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r469", "r470", "r471", "r472", "r473" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "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]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r154", "r157" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_BuildingAndBuildingImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Building and Building Improvements [Member]" } } }, "localname": "BuildingAndBuildingImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r519", "r658", "r659" ], "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]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r128", "r129", "r519", "r658", "r659" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired", "terseLabel": "Business Acquisition, Percentage of Voting Interests Acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "auth_ref": [ "r755", "r756" ], "lang": { "en-us": { "role": { "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "auth_ref": [ "r755", "r756" ], "lang": { "en-us": { "role": { "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r755", "r756" ], "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]" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": { "auth_ref": [ "r145" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes.", "label": "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "terseLabel": "Business Acquisition, Goodwill, Expected Tax Deductible Amount" } } }, "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax": { "auth_ref": [ "r517", "r518" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of pro forma income from continuing operations as if the business combination had been completed at the beginning of a period.", "label": "us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax", "terseLabel": "Operating Income" } } }, "localname": "BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r517", "r518" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss", "terseLabel": "Net Income" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r517", "r518" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.", "label": "us-gaap_BusinessAcquisitionsProFormaRevenue", "terseLabel": "Sales" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r125" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 5.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "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": "Acquisition costs", "terseLabel": "Business Combination, Acquisition Related Costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r138", "r139", "r142" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "us-gaap_BusinessCombinationConsiderationTransferred1", "totalLabel": "Total consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "auth_ref": [ "r136", "r138", "r139", "r521" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.", "label": "Contingent liability (Earn-out)", "terseLabel": "Business Combination, Consideration Transferred, Liabilities Incurred" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredOther1": { "auth_ref": [ "r143" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tangible or intangible assets, including a business or subsidiary of the acquirer transferred by the entity to the former owners of the acquiree. Excludes cash.", "label": "Other liability" } } }, "localname": "BusinessCombinationConsiderationTransferredOther1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r523", "r686" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Change in fair value of contingent consideration", "negatedLabel": "Change in fair value of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r144" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "terseLabel": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r137", "r140", "r522" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "us-gaap_BusinessCombinationContingentConsiderationLiability", "terseLabel": "Business Combination, Contingent Consideration, Liability, Total", "verboseLabel": "Accrued contingent consideration (earn-out)" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r137", "r141" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Current portion of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "auth_ref": [ "r137", "r141" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.", "label": "Accrued contingent consideration (earn-out)" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r127" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "terseLabel": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual" } } }, "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r127" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "terseLabel": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual" } } }, "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation": { "auth_ref": [ "r131" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lease obligation assumed in business combination.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation", "negatedLabel": "Lease liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "auth_ref": [ "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 2.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Other current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 0.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "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": "Accounts receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r131" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "negatedLabel": "Accounts payable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": { "auth_ref": [ "r131" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "negatedLabel": "Deferred revenue" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r130", "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 4.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "Finite-Lived Intangibles" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "auth_ref": [ "r130", "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 1.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of inventory recognized as of the acquisition date.", "label": "Inventory" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 6.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "verboseLabel": "Other assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r130", "r131" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 3.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "terseLabel": "Property, plant, and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r131" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "Net assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r64", "r65", "r66" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital additions accrued but not yet paid" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAcquiredFromAcquisition": { "auth_ref": [ "r48" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "us-gaap_CashAcquiredFromAcquisition", "negatedLabel": "Cash from Advant" } } }, "localname": "CashAcquiredFromAcquisition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r61", "r210", "r627" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.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" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r62" ], "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]" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r56", "r61", "r67" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash and cash equivalents at end of year", "periodStartLabel": "Cash and cash equivalents at beginning of year" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r56", "r168" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "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": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashEquivalentsAtCarryingValue": { "auth_ref": [ "r680" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of 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": "us-gaap_CashEquivalentsAtCarryingValue", "terseLabel": "Cash Equivalents, at Carrying Value, Total" } } }, "localname": "CashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowSupplementalDisclosuresTextBlock": { "auth_ref": [ "r68" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.", "label": "Cash Flow, Supplemental Disclosures [Text Block]" } } }, "localname": "CashFlowSupplementalDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r32", "r180", "r194" ], "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 (Note 16)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r97", "r361", "r362", "r602", "r715" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r33" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance", "terseLabel": "Common Stock, Capital Shares Reserved for Future Issuance (in shares)" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r692", "r693", "r761" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r12" ], "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 (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r12" ], "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 (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r12", "r101" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r12", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 4.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, $.01 par value, 20,000,000 shares authorized; 7,611,244 and 7,581,685 shares issued and outstanding, respectively at December 31, 2022; and 7,564,645 and 7,535,086 shares issued and outstanding, respectively, at December 31, 2021" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r105", "r106", "r107", "r116" ], "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]" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r41", "r227", "r229", "r235", "r580", "r586" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "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": "us-gaap_ComprehensiveIncomeNetOfTax", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r74", "r75", "r166", "r167", "r326", "r601" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r74", "r75", "r166", "r167", "r326", "r600", "r601" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r74", "r75", "r166", "r167", "r326", "r601", "r777" ], "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]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r74", "r75", "r166", "r167", "r326" ], "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": "us-gaap_ConcentrationRiskPercentage1", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r74", "r75", "r166", "r167", "r326", "r601" ], "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]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r151", "r636" ], "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]" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r719" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r405", "r407", "r426" ], "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": "us-gaap_ContractWithCustomerAssetNet", "periodEndLabel": "Unbilled Receivables - end of period", "periodStartLabel": "Unbilled Receivables - beginning of period" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": { "auth_ref": [ "r652" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.", "label": "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable", "negatedLabel": "Decreases due to customer invoicing" } } }, "localname": "ContractWithCustomerAssetReclassifiedToReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r405", "r406", "r426" ], "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.", "label": "us-gaap_ContractWithCustomerLiability", "periodEndLabel": "Deferred revenue", "periodStartLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r405", "r406", "r426" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "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": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": { "auth_ref": [ "r651" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.", "label": "Acquired in business combinations" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r427" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r45", "r576" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "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]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "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]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r690", "r751", "r753" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 0.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": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r690", "r751" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 2.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": "us-gaap_CurrentForeignTaxExpenseBenefit", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r123", "r501", "r509", "r690" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "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": "us-gaap_CurrentIncomeTaxExpenseBenefit", "totalLabel": "Total Current" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r690", "r751", "r753" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 1.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": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r73", "r326" ], "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]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerListsMember": { "auth_ref": [ "r134" ], "lang": { "en-us": { "role": { "documentation": "Information about customers such as their name and contact information; it may also be an extensive database that includes other information about the customers such as their order history and demographic information.", "label": "Customer Lists [Member]" } } }, "localname": "CustomerListsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r100", "r244", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r392", "r399", "r400", "r401" ], "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]" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r6", "r7", "r8", "r175", "r178", "r185", "r249", "r376", "r377", "r378", "r379", "r380", "r382", "r388", "r389", "r390", "r391", "r393", "r394", "r395", "r396", "r397", "r398", "r549", "r645", "r646", "r647", "r648", "r649", "r688" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1", "terseLabel": "Debt Instrument, Basis Spread on Variable Rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r169", "r171", "r376", "r549", "r646", "r647" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "us-gaap_DebtInstrumentFaceAmount", "terseLabel": "Debt Instrument, Face Amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r29", "r377" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "us-gaap_DebtInstrumentInterestRateStatedPercentage", "terseLabel": "Debt Instrument, Interest Rate, Stated Percentage" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r30", "r249", "r376", "r377", "r378", "r379", "r380", "r382", "r388", "r389", "r390", "r391", "r393", "r394", "r395", "r396", "r397", "r398", "r549", "r645", "r646", "r647", "r648", "r649", "r688" ], "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]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "auth_ref": [ "r30" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments applied to principal.", "label": "us-gaap_DebtInstrumentPeriodicPaymentPrincipal", "terseLabel": "Debt Instrument, Periodic Payment, Principal" } } }, "localname": "DebtInstrumentPeriodicPaymentPrincipal", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer).", "label": "Non-qualified deferred compensation plan", "terseLabel": "Deferred Compensation Liability, Classified, Noncurrent, Total" } } }, "localname": "DeferredCompensationLiabilityClassifiedNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredCompensationPlanAssets": { "auth_ref": [ "r681" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of assets held under deferred compensation agreements.", "label": "us-gaap_DeferredCompensationPlanAssets", "terseLabel": "Non-qualified deferred compensation plan" } } }, "localname": "DeferredCompensationPlanAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r690", "r752", "r753" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 0.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": "us-gaap_DeferredFederalIncomeTaxExpenseBenefit", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r123", "r690", "r752" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 2.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": "us-gaap_DeferredForeignIncomeTaxExpenseBenefit", "verboseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r487", "r488" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 5.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 taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r59", "r123", "r502", "r508", "r509", "r690" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 0.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": "us-gaap_DeferredIncomeTaxExpenseBenefit", "totalLabel": "Total Deferred" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r9", "r10", "r177", "r184", "r496" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "ufpt_AggregateDeferredTaxLiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "us-gaap_DeferredIncomeTaxLiabilities", "negatedTotalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r487", "r488" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.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": "us-gaap_DeferredIncomeTaxLiabilitiesNet", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r60" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 14.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": "us-gaap_DeferredIncomeTaxesAndTaxCredits", "verboseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r690", "r752", "r753" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 1.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": "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsDeferredIncome": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "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 deferred income.", "label": "us-gaap_DeferredTaxAssetsDeferredIncome", "verboseLabel": "Deferred revenue" } } }, "localname": "DeferredTaxAssetsDeferredIncome", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "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 temporary differences from intangible assets including goodwill.", "label": "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets", "verboseLabel": "Intangible assets" } } }, "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r497" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "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": "us-gaap_DeferredTaxAssetsGross", "terseLabel": "Deferred Tax Assets, Gross, Total", "totalLabel": "Gross deferred tax assets" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 2.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": "Inventory capitalization" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r749" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "ufpt_AggregateDeferredTaxLiabilitiesNoncurrent", "weight": -1.0 } }, "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": "us-gaap_DeferredTaxAssetsNet", "totalLabel": "Net deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 0.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": "us-gaap_DeferredTaxAssetsOther", "terseLabel": "Other" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "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 share-based compensation.", "label": "Equity-based compensation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 1.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 reserves and accruals.", "label": "Reserves" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r498" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "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": "us-gaap_DeferredTaxAssetsValuationAllowance", "negatedLabel": "Valuation allowance", "terseLabel": "Deferred Tax Assets, Valuation Allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": { "auth_ref": [ "r121", "r146", "r147", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 1.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 goodwill.", "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "negatedLabel": "Goodwill" } } }, "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r121", "r750" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details": { "order": 0.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": "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment", "negatedLabel": "Excess of book over tax basis of fixed assets" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent": { "auth_ref": [ "r173", "r186", "r430", "r431", "r432", "r657" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset, recognized in statement of financial position, for overfunded defined benefit pension and other postretirement plans.", "label": "us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent", "terseLabel": "Assets for Plan Benefits, Defined Benefit Plan" } } }, "localname": "DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanCostRecognized": { "auth_ref": [ "r440" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost for defined contribution plan.", "label": "us-gaap_DefinedContributionPlanCostRecognized", "terseLabel": "Defined Contribution Plan, Cost" } } }, "localname": "DefinedContributionPlanCostRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r59", "r91" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "us-gaap_DepreciationAndAmortization", "terseLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r59", "r302" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 5.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 and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "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]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeFairValueOfDerivativeNet": { "auth_ref": [ "r539" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of the assets less the liabilities of a derivative or group of derivatives.", "label": "us-gaap_DerivativeFairValueOfDerivativeNet", "negatedLabel": "Derivative financial instruments", "terseLabel": "Derivative, Fair Value, Net, Total" } } }, "localname": "DerivativeFairValueOfDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeFixedInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fixed interest rate related to the interest rate derivative.", "label": "us-gaap_DerivativeFixedInterestRate", "terseLabel": "Derivative, Fixed Interest Rate" } } }, "localname": "DerivativeFixedInterestRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r760" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "us-gaap_DerivativeGainLossOnDerivativeNet", "terseLabel": "Derivative, Gain (Loss) on Derivative, Net, Total" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r155", "r156", "r158", "r159", "r635" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r758", "r759" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "us-gaap_DerivativeNotionalAmount", "terseLabel": "Derivative, Notional Amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeTermOfContract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period the derivative contract is outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_DerivativeTermOfContract", "terseLabel": "Derivative, Term of Contract (Year)" } } }, "localname": "DerivativeTermOfContract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r720" ], "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]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r444", "r475", "r476", "r478", "r483", "r661" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-14-leases", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "xbrltype": "stringItemType" }, "us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent": { "auth_ref": [ "r0", "r1", "r3", "r90", "r95", "r205", "r206" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount classified as assets attributable to disposal group held for sale or disposed of, expected to be disposed of after one year or the normal operating cycle, if longer.", "label": "us-gaap_DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent", "terseLabel": "Disposal Group, Including Discontinued Operation, Assets, Noncurrent, Total" } } }, "localname": "DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.", "label": "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration", "terseLabel": "Disposal Group, Including Discontinued Operation, Consideration" } } }, "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue": { "auth_ref": [ "r2", "r206" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue attributable to disposal group, including, but not limited to, discontinued operation.", "label": "us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue", "terseLabel": "Disposal Group, Including Discontinued Operation, Revenue" } } }, "localname": "DisposalGroupIncludingDiscontinuedOperationRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": { "auth_ref": [ "r658", "r659" ], "lang": { "en-us": { "role": { "documentation": "Name of disposal group.", "label": "Disposal Group Name [Domain]" } } }, "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "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]" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r236", "r260", "r261", "r263", "r264", "r265", "r271", "r274", "r280", "r281", "r282", "r286", "r531", "r532", "r581", "r587", "r639" ], "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": "Basic (in dollars per share)", "terseLabel": "Basic net income per share (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r236", "r260", "r261", "r263", "r264", "r265", "r274", "r280", "r281", "r282", "r286", "r531", "r532", "r581", "r587", "r639" ], "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": "Diluted (in dollars per share)", "terseLabel": "Diluted net income per share (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r283", "r284", "r285", "r287" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r763" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.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; including, but not limited to, 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 foreign currency exchange rates on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r490" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "totalLabel": "Effective tax rate" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r247", "r490", "r511" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "U.S. federal statutory rate", "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 changes in the valuation allowance for deferred tax assets.", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "negatedLabel": "Change in valuation allowance" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Foreign rate differential" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiPercent": { "auth_ref": [ "r748" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI).", "label": "GILTI impact" } } }, "localname": "EffectiveIncomeTaxRateReconciliationGiltiPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 meals and entertainment expense.", "label": "Meals and entertainment" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 0.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments", "negatedLabel": "Other" } } }, "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": { "auth_ref": [ "r747", "r748" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 9.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Excess compensation" } } }, "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "State taxes, net of federal tax benefit" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "auth_ref": [ "r748", "r754" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details": { "order": 10.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage 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 tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits", "negatedLabel": "Tax credits" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r477" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "totalLabel": "Total" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "auth_ref": [ "r474" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "terseLabel": "Share-Based Payment Arrangement, Expense, Tax Benefit" } } }, "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r101", "r202", "r231", "r232", "r233", "r255", "r256", "r257", "r259", "r266", "r269", "r291", "r335", "r404", "r479", "r480", "r481", "r504", "r505", "r530", "r541", "r542", "r543", "r544", "r545", "r546", "r568", "r590", "r591", "r592" ], "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]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r160", "r161" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r162" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r160", "r163" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r390", "r434", "r435", "r436", "r437", "r438", "r439", "r534", "r569", "r570", "r571", "r646", "r647", "r655", "r656", "r657" ], "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]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r533", "r534", "r535", "r536", "r538" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r537" ], "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]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r390", "r434", "r439", "r534", "r570", "r646", "r647", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r390", "r434", "r435", "r436", "r437", "r438", "r439", "r534", "r571", "r646", "r647", "r655", "r656", "r657" ], "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]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r390", "r434", "r435", "r436", "r437", "r438", "r439", "r569", "r570", "r571", "r646", "r647", "r655", "r656", "r657" ], "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]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r537", "r538" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r164", "r165" ], "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]" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r553", "r556", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Interest on lease liabilities" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiability": { "auth_ref": [ "r552", "r566" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Present value of lease liabilities, finance" } } }, "localname": "FinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r552" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 1.0, "parentTag": "ufpt_OperatingAndFinanceLeasesLiabilityCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Finance lease liabilities - current" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r552" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 1.0, "parentTag": "ufpt_OperatingAndFinanceLeasesLiabilityNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Finance lease liabilities - long-term" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.", "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 4.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive", "terseLabel": "Thereafter, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 5.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "terseLabel": "2023, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 3.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive", "terseLabel": "2027, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour", "terseLabel": "2026, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree", "terseLabel": "2025, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 0.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo", "terseLabel": "2024, finance" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r566" ], "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 finance lease.", "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less: Interest, finance" } } }, "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r554", "r561" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Financing cash flows from finance leases", "negatedLabel": "Principal payments on finance lease obligations" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r551" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 1.0, "parentTag": "ufpt_OperatingAndFinanceLeasesRightofuseAssets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance lease ROU assets" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r553", "r556", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": 0.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Amortization of right of use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r564", "r664" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for finance lease calculated at point in time.", "label": "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent", "terseLabel": "Finance" } } }, "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "percentItemType" }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r563", "r664" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1", "terseLabel": "Finance (Year)" } } }, "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "durationItemType" }, "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": "Weighted-average useful life (Year)", "terseLabel": "Finite-Lived Intangible Asset, Useful Life (Year)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r214", "r356" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details": { "order": 0.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "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": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization", "negatedLabel": "Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized 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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "verboseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r89" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 0.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "verboseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r89" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "verboseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r89" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "verboseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r89" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "verboseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r89" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "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": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "verboseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r354", "r355", "r356", "r357", "r577", "r578" ], "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]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r87", "r578" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "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": "Gross amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r83", "r86" ], "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]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r87", "r577" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details": { "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": "us-gaap_FiniteLivedIntangibleAssetsNet", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.", "label": "Foreign Tax Authority [Member]" } } }, "localname": "ForeignCountryMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r547" ], "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]" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GainLossOnSaleOfBusiness": { "auth_ref": [ "r526", "r687" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.", "label": "us-gaap_GainLossOnSaleOfBusiness", "negatedLabel": "Gain on sale of Molded Fiber business", "terseLabel": "Gain (Loss) on Disposition of Business" } } }, "localname": "GainLossOnSaleOfBusiness", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r59" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "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": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment", "negatedLabel": "(Gain) loss on sales of property, plant and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeographicDistributionAxis": { "auth_ref": [ "r582", "r583", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r642" ], "lang": { "en-us": { "role": { "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Axis]" } } }, "localname": "GeographicDistributionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionDomain": { "auth_ref": [ "r582", "r583", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Domain]" } } }, "localname": "GeographicDistributionDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicDistributionForeignMember": { "auth_ref": [ "r582", "r583", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r625", "r643" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as foreign.", "label": "Geographic Distribution, Foreign [Member]" } } }, "localname": "GeographicDistributionForeignMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r213", "r348", "r579", "r644", "r665", "r701", "r708" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 7.0, "parentTag": "ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "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", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r349", "r644" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Acquired in business combinations (See Note 2)" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r352", "r353", "r644" ], "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]" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r84" ], "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]" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r351" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Foreign currency translation" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "auth_ref": [ "r709" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) 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": "DAS opening balance sheet reclassification" } } }, "localname": "GoodwillPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r124", "r707" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "DAS working capital adjustment" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit": { "auth_ref": [ "r350", "r644" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of divestiture 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": "us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit", "negatedLabel": "Sale of Molded Fiber" } } }, "localname": "GoodwillWrittenOffRelatedToSaleOfBusinessUnit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r44", "r245", "r304", "r313", "r318", "r321", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r540", "r641", "r716" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 3.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": "us-gaap_GrossProfit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r246", "r510" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "order": 0.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": "Domestic" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r42", "r172", "r181", "r196", "r304", "r313", "r318", "r321", "r583", "r641" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "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": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income tax provision" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r246", "r510" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "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 foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": { "auth_ref": [ "r658", "r659" ], "lang": { "en-us": { "role": { "documentation": "Information by name of disposal group.", "label": "Disposal Group Name [Axis]" } } }, "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r359", "r360" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r119" ], "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://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "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://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r247", "r491", "r494", "r500", "r506", "r512", "r514", "r515", "r516" ], "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]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r248", "r268", "r269", "r303", "r489", "r507", "r513", "r588" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 }, "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details": { "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", "totalLabel": "Total income tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r230", "r485", "r486", "r494", "r495", "r499", "r503" ], "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]" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r63" ], "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, net of refunds" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount 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.", "label": "us-gaap_IncreaseDecreaseInAccountsPayable", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 15.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": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Receivables, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "us-gaap_IncreaseDecreaseInAccruedLiabilities", "terseLabel": "Increase (Decrease) in Accrued Liabilities, Total", "verboseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r574", "r686" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "us-gaap_IncreaseDecreaseInContractWithCustomerLiability", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInIncomeTaxesReceivable": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid.", "label": "us-gaap_IncreaseDecreaseInIncomeTaxesReceivable", "negatedLabel": "Income taxes" } } }, "localname": "IncreaseDecreaseInIncomeTaxesReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.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": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities", "terseLabel": "Increase (Decrease) in Other Noncurrent Liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherOperatingAssets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r275", "r276", "r277", "r282", "r443" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Weighted average common equivalent shares due to stock options and restricted stock units (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r358" ], "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]" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r81", "r85" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "terseLabel": "Intangible assets, net", "totalLabel": "Net balance" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntellectualPropertyMember": { "auth_ref": [ "r135" ], "lang": { "en-us": { "role": { "documentation": "Intangible asset arising from original creative thought. Include, but is not limited to, trademarks, patents, and copyrights.", "label": "Intellectual Property [Member]" } } }, "localname": "IntellectualPropertyMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "domainItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r170", "r183", "r234", "r301", "r548" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "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, net" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r239", "r241", "r242" ], "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" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap [Member]" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r345" ], "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]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-6-inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r80", "r632" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r222", "r628", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details": { "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": "Inventories", "totalLabel": "Total Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r209", "r221", "r288", "r343", "r344", "r345", "r575", "r637" ], "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]" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r80", "r634" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r80", "r633" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Work in process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandAndLandImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Real estate held and assets that are an addition or improvement to real estate held.", "label": "Land and Land Improvements [Member]" } } }, "localname": "LandAndLandImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r565", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "us-gaap_LeaseCost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lease Cost:" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r765" ], "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]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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 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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "terseLabel": "Thereafter, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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 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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "terseLabel": "2023, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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 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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "terseLabel": "2027, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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 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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "terseLabel": "2026, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "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 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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "terseLabel": "2025, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r566" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details": { "order": 0.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": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "terseLabel": "2024, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r566" ], "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": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less: Interest, operating" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "us-gaap_LettersOfCreditOutstandingAmount", "terseLabel": "Letters of Credit Outstanding, Amount" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r25", "r245", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r525", "r527", "r528", "r540", "r640", "r716", "r766", "r767" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.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": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r17", "r179", "r191", "r665", "r689", "r699", "r762" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "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": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r28", "r208", "r245", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r525", "r527", "r528", "r540", "r665", "r716", "r766", "r767" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 5.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": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r23", "r688" ], "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]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r23", "r688" ], "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]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r23" ], "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": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.", "label": "Line of Credit [Member]" } } }, "localname": "LineOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "auth_ref": [ "r698" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]" } } }, "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r8", "r178", "r189", "r389", "r402", "r646", "r647" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details": { "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": "Total long-term debt", "terseLabel": "Long-Term Debt, Total", "totalLabel": "Long-Term Debt, Total" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r24" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 5.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": "Current installments, net of long-term debt", "negatedLabel": "Current portion" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "auth_ref": [ "r98", "r249", "r394" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details": { "order": 0.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": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "verboseLabel": "2023" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "auth_ref": [ "r98", "r249", "r394" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details": { "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 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": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "verboseLabel": "2026" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r98", "r249", "r394" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details": { "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 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": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "verboseLabel": "2025" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r98", "r249", "r394" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details": { "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 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": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "verboseLabel": "2024" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r217" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.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 portion", "terseLabel": "Long-term debt, excluding current installments" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r30" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r30", "r99" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. 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": "Long-Term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "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]" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "domainItemType" }, "us-gaap_MergersAcquisitionsAndDispositionsDisclosuresTextBlock": { "auth_ref": [ "r4", "r148" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for business combinations, including leverage buyout transactions (as applicable), and divestitures. This may include a description of a business combination or divestiture (or series of individually immaterial business combinations or divestitures) completed during the period, including background, timing, and assets and liabilities recognized and reclassified or sold. This element does not include fixed asset sales and plant closings.", "label": "Mergers, Acquisitions and Dispositions Disclosures [Text Block]" } } }, "localname": "MergersAcquisitionsAndDispositionsDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r240" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.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": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash (used in) provided by financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r240" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.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": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r56", "r57", "r60" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.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": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r43", "r60", "r182", "r195", "r206", "r225", "r228", "r233", "r245", "r258", "r260", "r261", "r263", "r264", "r268", "r269", "r278", "r304", "r313", "r318", "r321", "r334", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r532", "r540", "r641", "r716" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "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 from consolidated operations", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "auth_ref": [ "r260", "r261", "r263", "r264", "r271", "r272", "r279", "r282", "r304", "r313", "r318", "r321", "r641" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.", "label": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "terseLabel": "Net income" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" ], "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]" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "stringItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r133" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r697" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "Number of Operating Segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r697" ], "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": "us-gaap_NumberOfReportableSegments", "terseLabel": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "integerItemType" }, "us-gaap_OpenTaxYear": { "auth_ref": [ "r492" ], "lang": { "en-us": { "role": { "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format.", "label": "us-gaap_OpenTaxYear", "terseLabel": "Open Tax Year" } } }, "localname": "OpenTaxYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "gYearListItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r304", "r313", "r318", "r321", "r641" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.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": "us-gaap_OperatingIncomeLoss", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r557", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r764" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "us-gaap_OperatingLeaseExpense", "terseLabel": "Operating Lease, Expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r552" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Present value of lease liabilities, operating" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r552" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 0.0, "parentTag": "ufpt_OperatingAndFinanceLeasesLiabilityCurrent", "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 current.", "label": "Operating lease liabilities - current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r552" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 0.0, "parentTag": "ufpt_OperatingAndFinanceLeasesLiabilityNoncurrent", "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 liabilities - long-term" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r555", "r561" ], "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 cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r551" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details": { "order": 0.0, "parentTag": "ufpt_OperatingAndFinanceLeasesRightofuseAssets", "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 ROU assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r564", "r664" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent", "terseLabel": "Operating" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r563", "r664" ], "lang": { "en-us": { "role": { "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": "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1", "terseLabel": "Operating (Year)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "durationItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details": { "order": 4.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": "us-gaap_OtherAccruedLiabilitiesCurrent", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r215" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r149", "r150", "r152" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "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, attributable to parent entity.", "label": "Foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r149", "r150", "r152", "r226", "r229" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other comprehensive loss", "totalLabel": "Other comprehensive loss" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other comprehensive income:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current liabilities.", "label": "Other Current Liabilities [Member]" } } }, "localname": "OtherCurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other liabilities.", "label": "Other Liabilities Disclosure [Text Block]" } } }, "localname": "OtherLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "us-gaap_OtherLiabilitiesNoncurrent", "totalLabel": "Other Liabilities, Noncurrent", "verboseLabel": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Table Text Block]" } } }, "localname": "OtherNoncurrentLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r47" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "us-gaap_OtherNonoperatingIncomeExpense", "negatedLabel": "Other (income) expense" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r55" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities", "negatedLabel": "Payment of contingent consideration" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r238" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.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": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Payment of statutory withholding for restricted stock units vested" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r50", "r520" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details": { "order": 0.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "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": "Cash paid at closing", "terseLabel": "Payments to Acquire Businesses, Gross" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r50" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "negatedLabel": "Acquisitions, net of cash acquired", "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r51" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 3.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": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Additions to property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PolicyTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "localname": "PolicyTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r11", "r403" ], "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 value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r11" ], "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 (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r11", "r403" ], "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 (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r11", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.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, $.01 par value, 1,000,000 shares authorized; no shares issued" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r223", "r346", "r347", "r630" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 3.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 within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid expenses" } } }, "localname": "PrepaidExpenseCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrimeRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.", "label": "Prime Rate [Member]" } } }, "localname": "PrimeRateMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "auth_ref": [ "r679" ], "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, Comparability Adjustment [Policy Text Block]" } } }, "localname": "PriorPeriodReclassificationAdjustmentDescription", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "auth_ref": [ "r53" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "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 the issuance of long-term debt" } } }, "localname": "ProceedsFromIssuanceOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r53", "r688" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Proceeds from advances on revolving line of credit" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r49" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from sale of property, plant and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSalesOfBusinessAffiliateAndProductiveAssets": { "auth_ref": [ "r685" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Aggregate cash proceeds received from a combination of transactions in which noncurrent assets are sold, which may include the sale of a business, an investment in an affiliate (including an equity method investee), property, plant and equipment and intangible assets. Excludes sales of trading, available-for-sale, and held-to-maturity securities.", "label": "Proceeds from sale of Molded Fiber" } } }, "localname": "ProceedsFromSalesOfBusinessAffiliateAndProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r52", "r115" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from the exercise of stock options", "terseLabel": "Proceeds from Stock Options Exercised" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductMember": { "auth_ref": [ "r653" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery.", "label": "Product [Member]" } } }, "localname": "ProductMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r94" ], "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": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r96", "r603", "r604", "r605" ], "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]" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r92", "r211" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details": { "order": 0.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" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r94", "r193", "r584", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 0.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details": { "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", "totalLabel": "Net property, plant and equipment" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r94", "r603", "r604" ], "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]" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r94" ], "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]" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r92" ], "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": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details" ], "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": "us-gaap_PropertyPlantAndEquipmentUsefulLife", "verboseLabel": "Buildings and improvements (years) (Year)" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r237", "r340" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for expected credit losses" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "auth_ref": [ "r72", "r290" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.", "label": "Quarterly Financial Information [Text Block]" } } }, "localname": "QuarterlyFinancialInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReceivablesNetCurrent": { "auth_ref": [ "r192", "r197", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.", "label": "us-gaap_ReceivablesNetCurrent", "totalLabel": "Receivables, net" } } }, "localname": "ReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r54", "r688" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "us-gaap_RepaymentsOfLinesOfCredit", "negatedLabel": "Payments on revolving line of credit" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r54" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "us-gaap_RepaymentsOfLongTermDebt", "negatedLabel": "Principal repayment of long-term debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r117", "r198", "r774" ], "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": "us-gaap_ResearchAndDevelopmentExpense", "terseLabel": "Research and Development Expense, Total" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r117" ], "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]" } } }, "localname": "ResearchAndDevelopmentExpensePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "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]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "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]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r14", "r102", "r190", "r594", "r599", "r665" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 2.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" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r202", "r255", "r256", "r257", "r259", "r266", "r269", "r335", "r479", "r480", "r481", "r504", "r505", "r530", "r590", "r592" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r299", "r300", "r312", "r316", "r317", "r323", "r324", "r326", "r424", "r425", "r576" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including 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": "Net sales", "terseLabel": "Net sales" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r429", "r638" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r428", "r429" ], "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]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition" ], "xbrltype": "textBlockItemType" }, "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]" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "auth_ref": [ "r562", "r664" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.", "label": "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "verboseLabel": "ROU assets obtained in exchange for finance lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r562", "r664" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Operating lease right of use assets" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r326", "r696" ], "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": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ScenarioAdjustmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Domain member used to indicate figures that are adjustments during a period or as of a point in time. This domain member would never be expected to appear in a relationship group without the \"Scenario, Previously Reported\" Member with the same parent.", "label": "Scenario, Adjustment [Member]" } } }, "localname": "ScenarioAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r36" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables" ], "xbrltype": "textBlockItemType" }, "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]" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables" ], "xbrltype": "textBlockItemType" }, "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]" } } }, "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r122" ], "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]" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables" ], "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]" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r120" ], "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]" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r118" ], "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]" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r83", "r86" ], "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]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r644", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r5", "r18", "r19", "r20" ], "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]" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "auth_ref": [ "r98" ], "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]" } } }, "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "auth_ref": [ "r289" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.", "label": "Quarterly Financial Information [Table Text Block]" } } }, "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r132" ], "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]" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.", "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]" } } }, "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r108" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r108", "r109", "r111" ], "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 Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r71" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r86" ], "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]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r296", "r297", "r298", "r304", "r305", "r315", "r319", "r320", "r321", "r322", "r323", "r325", "r326", "r327" ], "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]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r306", "r307", "r308", "r309", "r310", "r311", "r324" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r46" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, general, and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r58" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "verboseLabel": "Share-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r462" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedLabel": "Forfeitures, restricted stock units (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r462" ], "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": "Forfeitures, weighted average award date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r460" ], "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": "Awarded, restricted stock units (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r460" ], "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": "Awarded, weighted average award date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r457", "r458" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Outstanding, restricted stock units (in shares)", "periodStartLabel": "Outstanding, restricted stock units (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r457", "r458" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Outstanding, weighted average award date fair value (in dollars per share)", "periodStartLabel": "Outstanding, weighted average award date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "Shares vested, restricted stock units (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r461" ], "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": "Shares vested, weighted average award date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.", "label": "Exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r471" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Expected dividends" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r470" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r472" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r114" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r451" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "terseLabel": "Exercisable, shares under options (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "terseLabel": "Exercisable, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r464" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r453" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r463" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r114" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Outstanding, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r449", "r450" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodEndLabel": "Outstanding, shares under options (in shares)", "periodStartLabel": "Outstanding, shares under options (in shares)", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number, Ending Balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r449", "r450" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodEndLabel": "Outstanding, weighted average exercise price (in dollars per share)", "periodStartLabel": "Outstanding, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r466" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "terseLabel": "Vested and expected to vest, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r465" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r465" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "terseLabel": "Vested and expected to vest, shares under options (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r445", "r446", "r447", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r469", "r470", "r471", "r472", "r473" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "terseLabel": "Granted, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r453" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r448", "r467", "r468", "r469", "r470", "r473", "r482", "r483" ], "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 Payment Arrangement [Policy Text Block]" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r469" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Expected term (years) (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r114" ], "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": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "terseLabel": "Exercisable, aggregate intrinsic value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r114" ], "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": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "terseLabel": "Exercisable, weighted average remaining contractual life (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r112" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Outstanding, weighted average remaining contractual life (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r465" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest, weighted average remaining contractual life (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "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": "us-gaap_SharesOutstanding", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation", "negatedLabel": "Net share settlement of restricted stock units (in shares)", "terseLabel": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r558", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": 4.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r69", "r243" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r35", "r101", "r202", "r231", "r232", "r233", "r255", "r256", "r257", "r259", "r266", "r269", "r291", "r335", "r404", "r479", "r480", "r481", "r504", "r505", "r530", "r541", "r542", "r543", "r544", "r545", "r546", "r568", "r590", "r591", "r592" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "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]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "http://www.ufpt.com/20221231/role/statement-note-14-leases", "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual", "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "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]" } } }, "localname": "StatementOfFinancialPositionAbstract", "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": [ "r255", "r256", "r257", "r291", "r576" ], "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]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-cash-flows", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-accrued-expenses-details", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-deferred-tax-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-provision-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-income-tax-rate-reconciliation-details", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-details-textual", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-blackscholes-option-pricing-model-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-compensation-cost-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-details-textual", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-future-sharebased-compensation-expense-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-restricted-stock-unit-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "http://www.ufpt.com/20221231/role/statement-note-14-leases", "http://www.ufpt.com/20221231/role/statement-note-14-leases-aggregate-future-lease-payments-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual", "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-rightofuse-assets-and-lease-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-other-longterm-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "http://www.ufpt.com/20221231/role/statement-note-16-commitments-and-contingencies", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans", "http://www.ufpt.com/20221231/role/statement-note-17-employee-benefit-plans-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-details-textual", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-net-sales-by-market-details", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisition-pro-forma-information-unaudited-details", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-assets-acquires-and-liabilities-assumed-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-contract-assets-and-liabilities-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-details-textual", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-revenue-disaggregated-by-the-major-types-of-goods-and-services-sold-details", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-receivables-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-summary-of-allowance-for-doubtful-accounts-details", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "http://www.ufpt.com/20221231/role/statement-note-6-inventories", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-summary-of-inventory-details", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-changes-in-carrying-amount-of-goodwill-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-definitelived-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-details-textual", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-future-amortization-of-intangible-assets-details", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-details-textual", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-property-plant-and-equipment-details", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual", "http://www.ufpt.com/20221231/role/statement-note-9-debt-longterm-debt-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-schedule-of-maturity-details", "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r11", "r12", "r101", "r102" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Share-based compensation (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r11", "r12", "r101", "r102", "r454" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Exercise of stock options (in shares)", "negatedTerseLabel": "Exercised, shares under options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-summary-of-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r11", "r12", "r102", "r110" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Share-based compensation" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r12", "r15", "r16", "r79", "r665", "r689", "r699", "r762" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 1.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": "us-gaap_StockholdersEquity", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets", "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "stringItemType" }, "us-gaap_SubleaseIncome": { "auth_ref": [ "r560", "r664" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of sublease income excluding finance and operating lease expense.", "label": "us-gaap_SubleaseIncome", "terseLabel": "Sublease Income" } } }, "localname": "SubleaseIncome", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash paid for:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-tables", "http://www.ufpt.com/20221231/role/statement-note-10-accrued-expenses-tables", "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-tables", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-tables", "http://www.ufpt.com/20221231/role/statement-note-13-sharebased-compensation-tables", "http://www.ufpt.com/20221231/role/statement-note-14-leases-tables", "http://www.ufpt.com/20221231/role/statement-note-15-other-longterm-liabilities-tables", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-tables", "http://www.ufpt.com/20221231/role/statement-note-19-segment-reporting-tables", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-tables", "http://www.ufpt.com/20221231/role/statement-note-20-quarterly-financial-information-unaudited-tables", "http://www.ufpt.com/20221231/role/statement-note-3-revenue-recognition-tables", "http://www.ufpt.com/20221231/role/statement-note-4-supplemental-cash-flow-information-tables", "http://www.ufpt.com/20221231/role/statement-note-5-receivables-and-allowance-for-credit-losses-tables", "http://www.ufpt.com/20221231/role/statement-note-6-inventories-tables", "http://www.ufpt.com/20221231/role/statement-note-7-goodwill-and-other-intangible-assets-tables", "http://www.ufpt.com/20221231/role/statement-note-8-property-plant-and-equipment-tables", "http://www.ufpt.com/20221231/role/statement-note-9-debt-tables", "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r199", "r200", "r201", "r330", "r331", "r333" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r34", "r103" ], "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]" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-stockholders-equity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r34", "r103" ], "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 (in shares)" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r12", "r101", "r102" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.", "label": "us-gaap_TreasuryStockSharesAcquired", "terseLabel": "Treasury Stock, Shares, Acquired (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r34", "r103", "r104" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets": { "order": 5.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": "us-gaap_TreasuryStockValue", "negatedLabel": "Treasury stock at cost, 29,559 shares at December 31, 2022 and 2021" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-balance-sheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfArrangementAxis": { "auth_ref": [ "r757" ], "lang": { "en-us": { "role": { "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]" } } }, "localname": "TypeOfArrangementAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments", "http://www.ufpt.com/20221231/role/statement-note-18-fair-value-of-financial-instruments-details-textual", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture", "http://www.ufpt.com/20221231/role/statement-note-2-acquisitions-and-divestiture-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r484", "r493" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "terseLabel": "Unrecognized Tax Benefits, Ending Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-11-income-tax-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r76", "r77", "r78", "r292", "r293", "r294", "r295" ], "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]" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesAdjustments": { "auth_ref": [ "r691" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in valuation and qualifying accounts and reserves from adjustment.", "label": "Sale of Molded Fiber business" } } }, "localname": "ValuationAllowancesAndReservesAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r250", "r253" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "us-gaap_ValuationAllowancesAndReservesBalance", "periodEndLabel": "Balance at end of year", "periodStartLabel": "Balance at beginning of year" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r251" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense", "terseLabel": "Provision for bad debt" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r252" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "us-gaap_ValuationAllowancesAndReservesDeductions", "negatedLabel": "Write-offs, net of recoveries" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r559", "r664" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-14-leases-lease-cost-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "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]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-note-9-debt", "http://www.ufpt.com/20221231/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r273", "r282" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details": { "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": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted weighted average common shares outstanding during the year (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted average common shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r271", "r282" ], "calculation": { "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details": { "order": 0.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": "Basic weighted average common shares outstanding during the year (in shares)", "terseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.ufpt.com/20221231/role/statement-consolidated-statements-of-income", "http://www.ufpt.com/20221231/role/statement-note-12-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" ], "xbrltype": "sharesItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=d3e1107-107759", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222160&loc=SL51721533-107759", "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(26)(b))", "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", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org/topic&trid=2208564", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r11": { "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" }, "r110": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r12": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e961-128460", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "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" }, "r126": { "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" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "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" }, "r129": { "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" }, "r13": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "44", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5558-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "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" }, "r139": { "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" }, "r14": { "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" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "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" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(2)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966508&loc=d3e9972-128506", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966508&loc=d3e9979-128506", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r148": { "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" }, "r149": { "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://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(30))", "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", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r17": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r18": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(10))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(5))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-06(3))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=120401414&loc=d3e604059-122996", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r198": { "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" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760", "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(6)(c))", "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": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721675-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r21": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "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" }, "r217": { "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" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "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" }, "r22": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "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" }, "r239": { "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" }, "r24": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r26": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=SL124452830-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "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" }, "r269": { "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" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20,24)", "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": "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" }, "r271": { "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" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "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" }, "r274": { "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" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "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" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "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.21)", "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": "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "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" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "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" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=d3e1280-108306", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "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" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=SL124452896-108306", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721673-107760", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "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" }, "r329": { "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" }, "r33": { "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" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "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/2003/role/disclosureRef" }, "r332": { "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" }, "r333": { "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/2003/role/disclosureRef" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "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" }, "r344": { "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" }, "r345": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r37": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r38": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r39": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r4": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/subtopic&trid=2122178", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045", "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(10))", "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": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "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" }, "r429": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "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(20))", "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": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1703-114919", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123453770&loc=d3e1731-114919", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "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/2003/role/disclosureRef" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r44": { "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" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "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" }, "r442": { "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" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "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": "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "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": "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r47": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r5": { "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" }, "r50": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r51": { "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" }, "r510": { "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" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "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/2003/role/disclosureRef" }, "r518": { "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/2003/role/disclosureRef" }, "r519": { "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" }, "r52": { "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" }, "r520": { "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" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(3)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "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" }, "r525": { "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" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4582445-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r53": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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/2003/role/disclosureRef" }, "r534": { "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" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "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/2003/role/disclosureRef" }, "r537": { "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" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "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" }, "r54": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "https://asc.fasb.org/topic&trid=2175825", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "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" }, "r549": { "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" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "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" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "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" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "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" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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/2003/role/disclosureRef" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r57": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r58": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r59": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r6": { "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" }, "r60": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r609": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r61": { "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" }, "r610": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r611": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r612": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(4)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r613": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(5)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r614": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(i)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r615": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(ii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r616": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r617": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r618": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r619": { "Name": "Regulation S-K (SK)", "Number": "229", "Publisher": "SEC", "Section": "1402", "Subsection": "Instruction 5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r62": { "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" }, "r620": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r621": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r622": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r623": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(4)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r624": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(5)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r625": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1406", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r626": { "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "09", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r627": { "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" }, "r628": { "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" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r63": { "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" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r631": { "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" }, "r632": { "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/2003/role/exampleRef" }, "r633": { "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/2003/role/exampleRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "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" }, "r641": { "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" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "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" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "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" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r653": { "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" }, "r654": { "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" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "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" }, "r661": { "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" }, "r662": { "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" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r669": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r67": { "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" }, "r670": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r671": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r672": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r673": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r674": { "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" }, "r675": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r676": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r68": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "230", "URI": "https://asc.fasb.org/topic&trid=2134446", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "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/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "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://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "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": "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" }, "r691": { "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/2009/role/commonPracticeRef" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "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" }, "r698": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/subtopic&trid=2196772", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "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" }, "r7": { "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" }, "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": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "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" }, "r702": { "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/2009/role/commonPracticeRef" }, "r703": { "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/2009/role/commonPracticeRef" }, "r704": { "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/2009/role/commonPracticeRef" }, "r705": { "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/2009/role/commonPracticeRef" }, "r706": { "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/2009/role/commonPracticeRef" }, "r707": { "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/2009/role/commonPracticeRef" }, "r708": { "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" }, "r709": { "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/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "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/2009/role/commonPracticeRef" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "270", "URI": "https://asc.fasb.org/topic&trid=2126967", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r73": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "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" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r74": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "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" }, "r743": { "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" }, "r744": { "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" }, "r745": { "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" }, "r746": { "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" }, "r747": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "740", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126970579&loc=d3e23163-113944", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r748": { "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" }, "r749": { "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" }, "r75": { "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" }, "r750": { "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" }, "r751": { "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" }, "r752": { "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" }, "r753": { "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" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r755": { "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" }, "r756": { "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" }, "r757": { "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" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r76": { "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" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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/2009/role/commonPracticeRef" }, "r764": { "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" }, "r765": { "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" }, "r766": { "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" }, "r767": { "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" }, "r768": { "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" }, "r769": { "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" }, "r77": { "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" }, "r770": { "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" }, "r771": { "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" }, "r772": { "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" }, "r773": { "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" }, "r774": { "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" }, "r775": { "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" }, "r776": { "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" }, "r777": { "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" }, "r78": { "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" }, "r79": { "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" }, "r8": { "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" }, "r80": { "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" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r9": { "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" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2510-110228", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 116 0001171843-23-001734-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001171843-23-001734-xbrl.zip M4$L#!!0 ( $.$<%;)M;0(-P0 -4P - 97A?-#@U-S@T+FAT;>V; M6V_B.!3'GZ>?X@BI,R_EUIGI=H%&8NEET,),11EI7TU\()8<.^LXI>RGW^, M@;+M](["-@]5RK%C_[%_G'/L.*W AM)K!A9865Z'T;]GMPQH75IE6= MFZ@L1,O #YB)T9Z4$CLN'Y>\N56Q$$]*8VU"9LL<+?I6:%4"7RN+BFI;E!@% M6N&)TB5OKU6==]@::3Z#V,YD>KNRY3$+A9PUX./?B;;-H0@QAN\XA8$.F9H; M#R U'T",1HR;D-X7BW^P ?5:9)L0,&P7JG56]7$:U4C;^\>B9\VQ'UJKF2EJFZ)6FA:2'+%)>^C&L51 M\U=]O.TPE+R?YY7]-H.6;M:[16.$SN>3+ZJ@)BUL/]]/FJ?Z=X_: ML@='K5Y)1\RU_T1AOW]]6V5M?DU%T$?N%$!/A,(B/P &D1'7S"+(N6E!V R$ M\K6)M&'.F"B:^A1%R:8QZ#%T#4JFJ 5AXP6O9>*5ZL;)*!9<,#-K;(X&7=VD MDM=+D7JG_![EEE_V?'[?6%D_43*!'E*L$#$L:!XBX:DL>SG&!:B[Y6@/\^YH M.SJF;'! *N:^EG&B] $65_<4..X6CI^?C^/15N.^RRZ=MSPEKS=E!F$))"U2 M"NAV"[HON?6!5R+T-;'&D]B:;%7CN.L+/Q 3II;AN6!NMYC[FEOF3@5*] DW M?QTW%L?,#Y(8+:U2"N9VDKFCW#+7<9MZ?K",KBON!H'F"-W8+2T*['83N]]R MB]UI^RI+Z+YIZ6:.?%ZOUW'H7=":>")8M@Z6@HV$%':VY) J$93W[]ID>XN_ M9C5G'!5[*L](TRP::H(_GIV"B]<;_5%NN?BAD!:($X/X C=3H/)Z$^+G%I7U M4-19;25L;#$\*NX\ZFE!SI"IUW++C'@V,\?'VV.F2PFT42DS+G^^J@PJO?D& ME0Z%HBH*!A@E(RG\(H_>S3SZ.+=YM'OX/D F*6@MHMKM_8(BA31SK]T?F1L=+2D](CK HOWG3,[+,Y[&1;G1(7@Q4IJ*U3P M7%,Q_"NC8H@WK @@6V$"<\U$O[M*+I8/3PLLMH#%.-=8=+.<4T%73U\6/C*5 M:R>5%X>97^$4^GWGK/]WG7%Q#;ZD%^&I8OVQ=GY3\&9^T_W3'[M=++ MB_/A8,,6C,M&3_]K=#]'N+SX_K._ZHUJN#<'[KB0BJI[D\!K5=/7&?X%4$L# M!!0 ( $.$<%:E!T73Z ( 4+ - 97A?-#@U-S@U+FAT;>U6WV_: M2!!^OOP5(Q[:.PF#C0D_'222&(H*!AE'?5[L :]D[[J[2U+NK[^QR36)&[55 M'ZX/N0>,_.TW\WTSUJS&2TV>3;P463*Y^,,SW&0X^1"MEN GW$CEM<\0G>5H M&,0I4QK-5>-H]M:@,3FC@N5XU=A+E3-C)6@P-ER*!L12&!3$-IAAD4J!5T(V M)A=>^RSH[61R FU.614NC+5G.<].(W@?\1PU!/@ H-^$"FF"1L7W8ZC8 MFO^-(W#LPHRA8$G"Q6%D4[;J#CMFS':Q\G M7KN87/SG%H=%Z>>=V.EB_'L<.)6#FW6P]8,(UC-8!+?^QJ<'O8;^?+&-_-"_ MAIM=^T30LKN$;C61TQ 'A4H+*0R&A)F"%DQ M%:?@])K0L3MN$QZX28FB"QI),!),BN54:IGQ<\">"R9BSC(JAX"0>[F8;B#!.AX68\QW).HZ53V=%I0-0(6[4U4% MF?VW*/(@%>FQ\N8!.E>X)Z*(L32@&4^^=NK198@'KLUCP/:I^!_ZU;"U!O#G MC&<(@6R!Z[I6IW?9NR27+T"GWQW:_3IXZ0P&;AWLNKW^-Z#3([@&7O;ZW;K. MT.G:@WJPW7.'=@UTA\,N)2P_[PN\W^MU[;]:;WNVVKH-\W!*EU#T81T&T3J MY7+SMGMR+;61H@FKZ>]T\?)2^YZ3FH7QDW8E_4+Y4?A1][GLX">[_[_:+Z@E M_![BC&E]U5A.MY&UFW9Z68^B\(:ENXM)1^^!6/,,MC,@[O5 MDQHQRDWSE3]RT2XW3UK!JO7W'U!+ P04 " !#A'!61^S%1 8( #Q-0 M#0 &5X7S0X-3C_*$5@:\9#/9BG8Z9=6/IARO7 MR'@AY+C#7GRIM.O>B (L^QU&[%H77(7&B/GFB%DP(NLR/\Z*OZ##VJW2=5G) MTU2H08>UA&*MX[907994QFK38;QRNDL>E.O,+MGKSJ;V,_NO0VX$5ZZC:+6R MZ^#6-;@4 ]4Q8I"[;L'-0*@.]F>3OZ]P+(:JZE_>YB(6CIVVCUOM7K/J]YIE M__D&9UXN>?-R&W=FUM'B"Q7;LGN7#;:\XM5H+EAAM1E6VV'SRVRTO=4W8)S( M1,() ^P* U_A4.8T^Q1PP4Y;)TQGS.7 /G$3MA#&[2!Q=.6FU3NYT M^PYX?-\2_ON @?L0L>MC]C_(,H.A>,V%E..(71FP(D46,:Y2]B87D+'+6T@J M)X; _L@PTF H:'^^NV(WD.1*2ST01) /*CF.6.+OQQC#S5UG9Z+J>"R!Q=JD M8,X/6I@K0,J:N=/OMN3)Y'OM\$BD+B<76C]VF2>?4!0=LGA+S'[V_!GF,3/I M/Z35)US6'$48EKX7=4J7)PU$]1>G$9I;4&VPGDE"-HG"/62M@W[[V(>&C#== MNL'%2?YZ&!<_L)PCZ P,!8P@14@)B[!4%9?86&J#[%7L'4(!1S1^W8S*[O)2 M\=/0O<-/ L8>H[N)T9/=Q^AK;A&9",-BS#XK/9*0#B *4*TQFFJ<6&GG]0E' MD<#5F%7*F0K07>Z@H'2+X.4(%8>&$-X9I]*$B;80OI;Y?BL=%"1@+3=CZE+P MS^"+W'1.BVTI.H,F)8F%215,A$FJ KLI'(Z>(-[8*!=)SFQ%_\S&C\! /0DM MH!!6HI)"_+&1<#DNT)989,DZS5NB:SK%92+","CQ>#X,>PX^3@Z>/F(. LN$ M0I0386:HCKRTT7C9S%T7*FPH2#$*E<@JQ3F1.7,0CI!UPL@Q*Q'XQ%GBLI0S M4M9\L$NFD?>XN\&)(^I12>R 3-1(%V_.>G\2;G.623VR$YH:& CK#*E93HW! M;_0RFF.;G3BSXNV><(^3Q!\K:SI^GWT73BYT:N/"R=^>[3^2UN M^0>$:B__ODZYB)1IPBN[_1"2B#$@?6I+073J"F]\A85L**POC]@+E)^'C@]F MA76^.!N0W/.Q5ITS3D5UX::+ HLL^F*U%"EWWM'8BE0@ 6@!(FAC+Q<4S519 MTJL^@UDO;GTQU1;0(8?%FP:5G,!924X: )?EG9CI7AP15/2\^,?_Q4 =L4SC M>$CW9?EI\SU^;'S?N@"NT'[[TKDU^S%C#$5*I.96*P]";C$AT%:5F,Y-.F$= MY@'!8R&%&Y-B7F>62!\+7>>VNEZ*W-8+*BM3(O>M5_A)@C3P#OA- M[P 4"G>)*0"O0$FYA;K@AC[0''.0*%$-[(G^M(F>[#[1+X=<5K[Z$0L@R^B) MR!#Q:]=L,J7'JPPU#,B0[UL2EWK7C"5+0GVNKQ:(]@GA\9Z5G>T^T?_Q M69E_]IE.TD0T*VA47^>I.JMM1+9OD/,K&^BI=[SRK^/8J8+V#3AE40CG .Y0 M#[%&C4[74X'^^4D.D=!8K"V) ?RDK?PD"\&72J#[/N-4RK^O88_V1V)/NSP_ M@B.Q"XF;0YS9OUF$X*1SWT0 4JA6O].CJ1'PSR1GPV;1"UJ_S?5/;R>/>+Z) MF/4I4C@K7U,#>8H#+4Q+X$82UYMC'(),1)Q&05-;6GA58"QQQ7XQM?18^S!L M7QZ?/B$?P9G5!X(LG$LR_E% S,0JJ4JBAED,@::GXH'ZWPM3U M%HI2ZC'@U5&N0X7E"SQ'7MZ+[EX)Z+:,N>?7, ,G%HE0NF4J4,M]OQ9;H^:, M2!7\:Q F:JC4+?X=UCEH+1+M_M"SA.B0(QJQ=DX7V*F\9?Y! 3.#^+ 5,?IS MU&7KB#Y9UVG[^*E@KLB\O-Q M^UX#LCEGWN7%6?OX!-W8\@X_B=O7M,T0J_E_>Z*_\G9OKRGZ&_+2OT*[_Q<^ MO<6*M' OG@*CGL2=64,)*I,/Y]";G ML5]&F5^VCA_9P^H. \/K9VWI7OX+O M!W3Q\"H\=$,!MA*_HQT18O^&C50,62*YM><'OUU\NFE<7;R_;+R^OKSXE7Z" M-'?UZOV[F^NEMCQK&#U:;22ER*[>__[GQYDU[$&_JEKS@5XTZ5=66&?\3[W^ M!E!+ P04 " !#A'!6A:@S0-@' "\- #0 &5X7S0X-3VZ]25HLP] 22>+*$6J)&7'^_2[ M(^5W.W778'$R VU=4WPY4O?<_4C)O=P5LM_+@:?]IT]Z3C@)_=^OW[YAEZEP MVO2:H0BO%> X2W)N++CS@\IEC><'_5"J> 'G!YDV!7>-%!PD3FAUP!*M'"BL M[4!"F6L%YTH?])_VFF' 7JS3,;-N+'USY1H9+X0<=]BSSY5VW6M1@&7O8,0^ MZ(*K4!@Q7QPQ"T9D7>;;6?$W=%B[5;HN*WF:"C7HL)90K'7<%JK+DLI8;3J, M5TYWR8)RW;!+XW5G7?N>_=]9M7O-'4U%T9A]3"L'H?-3[/1]J/^!L:)3"2WS;%'ZYQX5['6%?BLN4 M_7',WG#'A900L=]R 1E[*117B>"2O<]P<<'0.OWU\HI=0Y(K+?5 $!.O57(< ML<3?@C&N,'>=G5E(QV,)+-8F!7-^T,+P %+6L$Z_VY(GD^^UP2.1NIQ,:'W? M99XWH5(@"UKE#<'\Y.D3#%UF4G](LT^XK+%$SRM]+:J4+G<:V/07IRLT-Z%Z MP+HG"=ED%>X@4!WTV\=^:6CPIDLWF#@)6?=CXFN6\R$P T,!(TC1I81E7*D* M/=% J0T"J]A+= 5LT?ASLU=VEZ>*GX;N'7Z28^Q]=#=]]&3W??17;M$ST0V+ M,?ND]$A".L# Z5VU]M%48\=*.R])..H"KL:L4LY4@.9R!P7>+')>CJ[B<"!T M[XQ3-L) 6PB?OGR]E0H*$K"6FS%5*?@G\'EMVJ?%LA2-P2$EZ8-)XDN$2:H" MJRELCI:@O[%1+I*I=&IWQ)- MTRE.$ST,%R4>SR_#GL&'R>#I V806#:5+C.OCA! K(Z7S=QUH<(>@D2B4(FL M4NP3R9ESX0BI$T:.68F.3\P2RU+.H*QYL$M#(_>XH<&.(ZI12:R )&K$Q0]G MO3T)MSG+I![9":8&!L(Z0P*64V&P&ZV,YFBS$V-6K-T#]S"!^W'W@;M>\,YG MWST_:?_^1=]S7C!CPDZ/2"[CLZ,P-+/B!L3BVH6H$Y MDO(D?4^%3:2V%;:C[&FT#+241B>08K%EAPA'"DA;(.#R)LFY&H#?SWVH)-9H MG_)&^^P0@A7MLS1\"U]Q+# J4$K],\I><_ &F,B6K0?*%@;*<"":YS+26(/D M;6>/Z;=A.K%S(ROWBS/??9Q?@,5^T:N]_/LR^ H3V5!8GQZQ%BC?#QT?S!+K?'(V(+GGL5:=,Z:B.G'318%)%FVQ6HJ4 M.V]H;$4J$ ":@ C:V,L%13U5EO2JCV#6BUN?3+4%-,AA\J9&)2?GK"0G#8#3 M\D;,="^V""IZ7OSC_V*@BIBFL3VD^[3\N'F/'QKO6R? %>RW3YU;TX\18RA2 M@II;K;P34,]>"!\+5>>VNEZ* MW-03*BM3(OO6*_PD00R\ 7[3.P"%PEUB", K4%)LH2JXH0^88PP2):J!/>B/ M&_1D]T&_'')9^>Q'%$"6T4.0(?JO7;/)G,KX+;)Y^+I^W^FYQH:8B6W8W<:Z MM7Z:'# MX7ICZ:^L1?0K,B_I:)TDE2%&YD3KFEX+;1V6)W2TE:%]V-'G"C4O=GVXH4F& ML&-.7*I=&YX@@OY<6RT^M3D*5N7<3A4^95,?'"#U,L.O1RT!QDR*3R#K0^ZE M^M$W+]$^(#S?Z21,1+.$1OEU'M59;B/8OD+.KVR@I];Q MRK^!8Z<*VA=@ET4AG .X13W$&C4Z74\%VN<[.42@,5E;$@/X25OY212"SY5 M\WW$J91_1<,>[8_$'G=Z?@!'8A<2-X?8LW^9")V3SGT3 8A0K7ZG1U,CX)]( MSH;-HA>T?IOKG]Y.'O%\%9CU*5(X*U^3 WF*#2U,4^!&B.O-,39!$M%/HZ"I M+4V\*G M<<9^,K7T6/LP;)\>'S^0#^#,Z@)E<68P#46(!_CDB8#YEQ)J$J.@ M*H4::CD$DI:*#^IW*TR=;Z$HI1X#7AWE.F18OL Y:,H KV-<@G:E>I2_QKJW.NM0C:W7G/DD>'&-&(M7.Z MP$KE#?,/"I@9Q(>MB-&?HRY;!_ID7C^VO[]+]UZDZLYNPA<#*@[]EAO,-NV? M(G;2.CF]+1#N:9MAI>;_[8G^ZJN\O:;H M;PA)_PEQ_P^47F J>O /8H[L8X 2HCW9]&&5^GOVZS#J_# "BU:L>UH1T1, M*H8LD=S:\X,W%Q^O&U<7KRX;OWZXO/B3?DTS=_7JU=8P>K1:2 J( M7;UZ]]?;V6A8@WX@M.8#K6C2#X8PB/I?+?T#4$L#!!0 ( $.$<%9M_EXQ M,P4 #H? - 97A?-#@U-S@X+FAT;>U9:6_;.!#]W/R*@1=M'<"7[#9- M+$> FZ.;GD;B_@!*HBSN4J1*4G&\OWYG)-MQG*/M;IJT:8 XAGC,//(-A\^C M0>HR&0Q2SN)@X\G "2=Y\.?XPWLXB(739M"NFK OXXY!E#)CN=NM%2YI;M>" MJE6QC._6$FTRYIHQ=SQR0JL:1%HYKG"TXY+GJ59\5^E:L#%H5PX'H8YG8-U, MEM.5:R8L$W+6AV=?"NW\L4#U%AK#9]8(73/B'(KW*[YL\_-UU:+A]/F1%,N;ZB MU4K?\3/79%),5-^(2>K\C)F)4'T<#XO/-L[%K2J"@[-4A,)!K]OJ>(-V$0S: M>;!Q#9CG:VB>?PN<<^_H\9D*;>[?Y./_+3A";KFY?L5[!\?CH\.CO>'XZ-/' MA[W401B,,,0*G U.PTEU F"GLP4Z 9=R.&$F9(K;YJH;4VH ;[L! MGY5P/(83QQQ"W=,QW_S:JNZ"X<5O>P MZ9&1"DNN1BEH-8+#/)9LRPS&7FUP;5GJODZUG?VQWNQU_3V$&CF^C=2 M?,--\6L/>P@A'%@[.4&DH#(;YP?!V>B]\BHS'6+@V M%KK7Q8)0E32CG2=)Q@2=?Q1'M.DK<<&$019SPRWQU: 13$J$@3E&,&F13ILC M@[9*)HE03$780491+9)Y.KLXJI 5WSKG57G:<+,IN2)ZYD=-E2RL9S9?IDXPGJ<'/;6,@R M&8X7AD-M\"YHAMHYG>&@_ RLE@+IFX1UO%OH;].'4\KA$9.+X'0Z7ZZK]^KI MW-'M ?SN@_U5$KYZS-'U!V;P2O*VRN37*^.&P+1=O+YM-^W'5FOG5C=D$<7? MA^+%5LM#&-_([X.@KVW;JTEO((+C%KSE26)06KUF B^G05L$Z[SBMPGNZ+C] M'N=H'Z^*"TP\A)/T()BYXD#0Y7A_@/"WB\!V1;]B4.JCXD/UY\0IAT_5+X,& MC%!)"-(XC5)7[*.2C,J:U/TBKX^,0-V3H_"Y!'KSFARS@=\D0QXUSZ/F^4DR MPJ/F^:7INT+S:,5D#&];\)XYRO'\4?0\BI[?6O1<<2+N6_60UCE<5D[FLN&^ M8:U(FDO8?A9)"*K-.7U.<+R7Q%&,:)Z#'>5$//=XP/"F,$C:MS*Y57*E_ M677=TUDFK"7@VH!PEE:7)%#DV$++X];=90DO%J<026;M;NW]\&3<' W?'#1? M'Q\,W]&[W)7>T9O#\?%:6YHTC9Y>;B0M#*,W'S]_./>&(^CU]!5?B*)-KZOQ M0BW?F?\+4$L#!!0 ( $.$<%:6-L@BG3 QG 0 - 97A?-#@W-C$P M+FAT;>T]:7,;QY6?XU_1Q=UD21=(D=0MRJRB*-K1VI95$I5D*Y7::LPT@%X- M9N Y1"&_?M_1UUP@*(LB2(TKL0E@IL]WG\]GY3PY?CY3,C[^[D_/2UTFZOBO MY[_^(LYB76;Y\WO\%?PV5Z44T4SFA2I_V*K*R>Z3K6/^-I5S]W^,)GX^S>"F*JT*\5A?B;3:7*7\Y$O3U2!0JUY,C0>\5^M_JF3C87Y1' M8B'C6*?39V)?IV)_[T"G1R*J\B++GPE9E=D1KF!AIYW+?*I3>!A?_6)K*-6G M@HCYWHZ*V'2Y^/CLT\S/=8E/+1W_^#YO?'Q\WN+X^^N>S5;QW])Q\7B MJ#E9.'YCX",_!@U!'S_*7,NT?);B12='P1XCN&65'YG5PPO"_O_)HK'ULZYM M?[V5;,!)O#O_[?1G\?[UJW-Q\O>3MR_%R4]OS\Y^/7M]?K-'LWVARYEXE:M$ MIK%X5RT6B9K#.SO?[FUM_Y3#BRH651JK7)0S)=[_^$:5UGTW,2=&0:S@">O/^(IC^? MZ4*\*[/H@WB? EZ?7,@\%B?37!'0"/B5#A<.3Z=E)F0AL@F=X,&#YT7E%OQ1 MY:6.9&)NI,P61XE.U>Y,(=E\=G"X_^=@X8MRZ[B%^.E0/@=J_)"J;3OOK9GL#2=RDEI[O4O__'D\'#_Z#2;+V2ZI$\' M1SLTU/_6_Q';P?.T;:7L\WM\*^)4+G0)._HW;!]FF!>B*N#/<56*-"M%K":P MQUCP(D0QDTDB9A( !X>>*YD" RO@S HX$QPBPQ_F<)+T0+#(@\='11?PC?# M@2W#G<6U!>./S=4VK[$0V^_>G[CA<[7(58&7VC5YE4XJF@6/JDH+!;P6/BWR M;*X+A4O715$IW"2,@A<&(\RSU,PJ2R'%I"KA);C04@$7J\;_!Q*$V;0Y/H(= M@*D&F(W@2**D0GX_$DB_,CCA1,_A\%$$&=$("Y63; (')#(:&TZI &Y9 JO, M@>;!L3ZOCM]%,Q57B1(GS^]5QW0W93:B;>$H>'#VP,RMPY45<)_,X8N 2,#I MP9+A+_PH^=+,0[ 1*:8J5;E,@N.*X%\H<%DD,:>\=Z=IR($]SQ7_,4NLCHD4 MX_&TH/5(O EN^#=WPT?B;ZHH 33P/O=JP]WPJ?XAV;(VOS +$('D6#MV$9Z[ M>/2T*9TF:D*<3NZ$![3ZW^+<0^C($B7U2>418CQ<;-^Q!75(DL# H)H MW* LH)X SL':"A%R ]1:))+GO6"W(3UD<@V/%;HH&:'/9T#;9ED2\[I'^!5< MB+)\$6<'.G#V*5(+G!%PGWX(IVB]@&MLO2& B@HEHQD?EZKM2I:X-2!;(!:XZN@UKO. MVT0@2P%#0"8'86F<]%W."+3?);U!PCP Y<(,!C^B(-N&XS$('#)6**UID/V7 M%I]Q=)RWAV_7^12" @&EF1'%D(],?(FKHS12@QL/-#?.XC8"1J*KP C2P P. M$0YUD8&,B/#@)5F0^;HPF#!_9"\-)*02J.N%1DJ&(OB$+OXBUW1G%S-%T@N1 MH0P^@I@&R[8R8 ]E( EVC%+WG.^Z>Q$AT2/@\+#$RW(0RBL#B._@(" , N4K MV-8DX "M&!V0<5BOJUP5_"0HQJ IO^-"NYXS)X(8B>O> MUCO]MT<* \BO\&(@;B&T;&LS"X,+ MB =$ND8,1AHVN0* +N#N1 %;*"8:9FG2L')M+KFW&>SG6J7GPZM(SZ>@ADP5 MHO@I3)IG24LFKKV! (2G#[>;QA9L+4$O+.U>K4$]PZM'*J+0&"!%:PE-'K)- M$,B:L6%"9$=I8,]J^F9!(E#,"7)Q3IU66856"UE6!2G(P+7FBR1;*H9_,EC# M%Q)A'"32=X:Z/""JDDU&!J-0A_?$SB(>ZL#.RD&$3<_GH-;!7\!6%[E&@LA0 MK"83PR4M 23\;QT1D8+T>D2\=02*%<+>B,;I$*M!\_^H"Q*K46(W1WAXT*_# MXTHZ#0YV>TZ\'EG\[\7\D:$R*";C-6OG'RCQ1-E?V.SCN207?^LM; M]WJ^INP2ZX\B2F11_+#UYJ<7/V_9*2]T7,Y0.-G_LQ5#=E'0,$X$\PU9'^@K M]'[4QOKQ_*T;+)16C'%4!!,TWIU-=O/LHOUEI. TW_ST^OVO?@_P!#I^PO]\ M]WR6VXG?G/QTMOOB[=G)S[LG/YZ?O7T&%W?C@!W$_3P_,<^_0/OR>C#-,^J--ZM_]0Z@+^^[#X %M<^<_OGOYW^HM,/ M*P_ G4.W7-H"H$M- S7W47,K-\ZP[E^%89U[::;-JMZGB2J*D/ JF2<:)#ZV MP3FZ/1(/!5#=1X#QP$&0TK080\-XUZ9/G6((&2+(L!FO>I7)C5LG6CO)) '' MS"2%QD%:!:P'3>'67-ZM==VXKG2M\/%@%7RT_UT'$CPJ<[4(+_"CN6'SJ5\" M.#,20!O,F+D07T YY@*M6RQ,:V8;%LX>$C]R4&8M8A^-ZEYV+G-MT:0A)XT^ M X1A1$-T;M!\)VAO9Y%D6 MTIC.H?+>G.C1#!6;+N+K7.*9_5"9R39BEGHZ -0 M3I3S8#GFCXE;-NJW+&NT)]<%3=4S#\FYO#V6,T,I&!;183[="Z4 #JM AP%* M;H"A,BG4%LHJA2&^U(4+_I<<:3=R4 MUE0R\ER;X:-@/Z(:[N-3PFIE4FG.&[:$^G3PT-<3W,N9,#EVA7S=4<-'K_B[?D&NW<(B+=IQSSC8SK8>XZ!1;QR'OX)#[7*(&>_T*HY?@%CWTFB+\8\ 9%=2 MZ*P&I&X!FW&#UTJ%'U^%"O]-)A4=UOOP+MJT^%7JE*V 7RH34\(?"L9CIS\+ MB5*1N5@*%T'I,L#7/R@'HQB#8)0#$T87I76JPM>H' (8C7-RFJ-2Z0WQB;PH M=EC2S=44YB1;%SQCW[?+US4+&%FI4"4U47"1K H@*]:EB$I]KG;#/0&O G$* M ^](DZT/+@N@\!BO1N]]E#HI4,:2:.?4M M"@>E;VC-O,*5"QQUH..E5K>:?$?T6HJ/%IS^K?),Q'#5,B_$]G_N[^WO[PS6 M_,NL^4[A'ZO<:_--==\I]RN6T'@S=A\"8V"D6CH*WW"\)B B)]YA+ M%\OC(L1R&94L6M0"K^QB\)#J,;A M$'K2B.WF$M !W_7!5KCW!4#"(L>P"PQJS)?VYL=9]L&I3"YP,><(7E"VEI@> M.,MRSMK(95I,, 1N&NCJS@6#KW&$7# ;FC2+E=;]#8E+VA -[0HZ_=N:)$RA M*XS?X5VB4;)HN6O-+2/\Z)3TYU)^$MLN<41,%&H-R8ACV8BT)%D$P%LBN0=1 MO,@XU US-L,([Q*CC\MC%* _. ;?#OKTHU+[QM MV@G=T80GPFBBN<;W#%5#J$FLNSBP">DX9!C*WUZU) M@4L-U:8[I%NN400FUO[F\+NIS0OQ#S3(O/\RJ@D WH_?[W'G]RC0]/>*= N9 M.(]E7TI39$SF<(!V&39>"2W8>N'. 20V)&=Q&#Q)*1'L/<2@4A)1RKR**$7* M)S28#9CMYSVGA6_#4BI6L!2F1I$IHI-BU\"K=45[P+N#$#8,?I#&?=MS$*13 M-RZ"69*1 0(7^A.4((R5U (M$WU -J*WI^/PK#QNF) (TI,+=Y;Q<2R86C0\"R9P@["Y461H\V P5"1R=;$B<).=V0 M52=+*P9@.CV?F)Z@.V6N3<@Y:^!UR\6HMNVY7''^2$\*5&X0>/DVG>?'8EF? M6,7^# Z_">X17^V^1Y(8[\'HA&+N+CCYLA/O'9"V""&#I1N#+!ED:YJ#?E@& MRP9J!@Q+,DR&:P0DU/-J7ELKO]W,,'0HT !K1G$.<:B!9 M]]BVN8,C6DQ+S2U%5]"G>$&13$T(AA?Y#2BR\(2V)IU5!7(P&\%JS\2$XUQ0 M2'$(=B1I9N@,GE9P!D@$ F4 _J32 X:4H[<&S45D7"H*[VPTB3-$F5M'T#Y@ M)Y': ;IPO1>^#-1D7PYP:ND*>-FYFE2<@!L#W8>+6H%-3DR8>%)#)C_X#4F) MM=4UC\4C6!<#YWC]YL&1?&R#D]F7?^,&[XT0B*,U56C@/8E6%25: @DD$39G M<1BEU!YZUJ'^NM?X$R#PJ(/0D=7+>,!I: .UJ<)/B(](V>DWD^>X9'V:OV*O MF9,7BZYIG8K,HAU+!C(4NW#9Y.8:C+17,]+>OR$C[?W!2'L[C+0;0?KB2[VU M[]-2)^SL;EBN&JEXEYN7#/T*S4M8K633#4M-O8A<6K;Z!*7X9J5B,0C$-AG=PDW1%?IB1!5UUD:N9:=L,B'V&M)R^ MNX<_LRBJ@V/Q?590FQ#_(A";CBCL]?R-\T#[LU^CS M0*Q,ME=13_*B+P,###_+@1OX>W:1JGPUV(Z$++(X!>MO*Z#J"U#@S^!'^(.PPTC%L6*@V).L9@( M8C5KH4N,&&&H ^J&QM*4524&6@"&P";:-6N(VB#6PT,:=9B&!66 4H#2R)?CI=9;NGAMQ(8C][XZ Z@QELVX\IB>F M8,R*R!FKOU&V"JI2FPTHTI4C82L^4" 16%)?ADY9P< M/P!)P'R3#".R46WE^#HXW11CV8-*66-3:@%>,'8AIG43LADH)D"A%#!J\-Q0 M0%A;(K0Q]S6QQ;L=[<:](*,^J-*/"&8Z:41_K:)KP&1#--=5;&(/-2%R+;*J:0HX2JX>&?H)QBI5$\TQU=9J:01LD&FU M^>"+:5@FE:L%KB'V!:D6LBB'>[^*H1AY5ZPBHVTW]?O:G?DZ/585-NZC9AF_ MNC _W =;KU8*\PW!;"&QXJU>.+=)2(<=?@XG>Q5E'H_0P+,+\:;0&11UDR5E M__5(@1A)CF($"R+>0;G BJR1BZQ'2Z $L?BK7LQ=<$ \N"$'Q(/! 3$X(+Z0 M/8;_$SC'C=Q3K(P:J*.6/=-J! 3F<[$*R7_.F^8#D;Z6HBH$];]-70&AFG81(8ESPA2S(Z MKR*.(;/)<%RJT1;1I#AN+ \9&V];NK198 N@,ADJD6DL?>.%^DX!CJH<3V6> MY5<[Z6L\V1[T;E:]Y@O@[-&^M;5E\3E@/96)-ZJRLYRN!B2^A7#77_ 6&E52 M34'91BL#]2E*JH*=D4Z%H(@D8T-FU\::,#1I528*$CSQ9"F*=J")0!-G5ZHG MW&5/(U.P3Y =?;EDU-N>B]K5_4'85A$>NW++;3@^D=>:Y39Q88)Y/Q3TC''@ M)'EH;;M\\^]H<06 6#6%.8H60)$%(F,,)@XU: 55TFHO>-V['7: M4) WQGA$":C>XJWW>F$Z,CE2I8V; V,K;92^.VPK\Z46 FR81.,Y[ZO)/.NV M?SL_L(PSJC36U73!]R_ *!2*DW"KQFQU N>FL2A )Q:;,/7= 5-4Y3G^%"*= M#0 -(UOJ ]&QF$II 7Z:C+EF)+3A^2N)5.V0::]IEG>=,N>QK*(9C>4[S+01 MN/ 1]%AC60M!\,Q87*PQ"8>47F5)0HZ_E^SO7J#JV1YTBER'-D MM6F-K3N@H!48$[QWN'(];XPDP!7@?VU[I'I(>:UT\LB.4S?5FQ/VV8O]QOM& M 022M,R'43>+,-*8H<'X[@?-Y9Z1'A-=SHJR1IAA'2FU_T$)0R^P>133;T.O M[SCQ6J<*.'KA8@3"U$J*.H>5 D>R[(7*=5/,TL(6V"#4JXW: M2ZE<#($ON%S6I$:L_.V*GI&#R9NVJ^U3E#660[P6=8JCS3']%XNLUSK:[<6>HZP:#W6M8+> M \:Z_.S+&6M6=_&F*(,$! IUUSW2ZU08!F0@SO 3J.EYVN%U;I;U@CO"HH53 M!ML.:&E8"T;-)+U5&-'?[,Q%SA"<=]5TK?$53F\- ;$PKE<*(P+QO4J430*E M-!F;'#.ODFG##VM K\TVNN2)(2+_:@;QAS=D$'\X&,1OAT'\>FED=Y7MO@ T M%,6Z@LT".93EM2!.8V++1W354G?-&0K#%.>@SK$;#;J"&,)DR<029 M-AT8FZ%AI!/::%&-2;PP-64* X'M0,([CBHKZ]FN#,-LH\J+98?[ &,O*;1; MUA(B.%&GW]05&D@=):?*W?2%!$)(:%"4669Z8])4BHLC.$%X%/KG6')U*0S] MLO6JAKUF6IG&;=O1FD)VY^I&[>51,9FXEQ&&JQS9C*"$(OP=R3#MF]MB>$\? MZ&;/ J@==4; B[64VC&-U4S.6)3T_Z\T9,5Z0?3L2X]!MC_1&FN5E*O6="1 M+N"R5Y:>6N+PKG]?MX)B$^W#W'1.Q^HL'<90<+#_XOUM-C51J.9HM(B'T&O1)TB<050JE2E0'XC1?=E MLFR,[=#%).F8:IC12[;8EWO-)1DQ-451#$$V6)U/B3'C7QAN1:X&#N[70*"Y MR(QM[6VXW>6+;LWDE<*4FO1A\$JFXZ-6*PS3GS:L4 0S4TVBFD/-%G*/J)![ MS_!F\HD&:<%V#"KSBO1#:V7CO6+!FH)45I!J7MQX036\,,/L)+5=0=U()%2B^=5(,+E(U30KM;'6PCHBPT1* M5\^EZL]6ZI0 (W1CX MWCD#]J,;,F _&@S8@P'[^'#-<)VPJ5B+YG<21UTPSXU=2RBJ:09,17N%M2VK MK=V]K"&H>,G:.[/?!JXY6][0:=M[R#$:KL@^)V0S[)EC2B_O/U*HA33>?#([ MV*Z+?[!Q&ZO43QZ%*K7?=>B0]-L5V_B;*9Z+@]1[N5G>ZD))FX8,4\?"CN ; M=]H&'68\AHC+-[@MT7:P_6('"U>Z-+A8F:9EC&(CG'2=66@UZ2L:V^5VMVF?#I7RXCSR94N>M+8A+&Z.43@GYH5.WL>%P MG\TJD11]V]W]9O5QD8W9'DXMP]X6*N6H)WC*GEO]*>MHJGQ-*!>.KMF29OL! MP\3;)SNBT)]L/R;*>TWQE670QF=-/.!HRA<[G>]P[YXZF5$./MTAV>A6BA:E MPBZ]6(?V4JIKE >MRSE.I,.6QJ0)[F>^,"9(U[P=GC[/*8A\&= 8=U\'>WAC MNP?;LYT]<5X#9#K4GH#$D'+*^5A/J1D.*S+H9FG2SBYRX3 HF,#M%&W%5$,3 M84&:>A&H+/&JN#(JB\J>;(0VP;X96[=DXF-84 WMP3VB,Q$R#F4#B%U:ATTM M1(Z<$TSE9&'?KY7VQ+;SR[46S*-@-4;CB>H.Y]#H@XJY12,57,Q-(+X[)XH- MLCG9#I/\Z5GA/J 5459P#&BPK3WQ+DN4":2F"8*X_-7WS&4A*:^)ET25I#DR M6U &ALV#LHT=?3.T6E\&2P8=_KAM[@E_L][_UUFZG$(0J?RP,874BZOYFM@- M&WBMI!HK/29MH].4X_7*7(45=,B&[93+2PEZ+WB@$SS.B$*ZHM8INHZ9%A!9 M">OV^JPG0X_-R!NB)MV 6+EF(.4K1$!,^*J ]:E.@T*C_Z"N=P7#U@+&,63' M(ODAJ+1=CP8S(9CVQCQ1-YEF7=9#)=KK-)5J#+9SH6:T>"5H?,)*8-_LW0_3 M#],/T]\)V]3C&[)-/1YL4X-MZOCL'V>G[\_/7AJ=E 7*)>BBQI%$'-M:K[^F MTZ;D1B($:#]L[6\)O,$%RAOIU'TN%C*RG\,E?0Y*-"\RA&J IS]]]Z<_/2]S M^ /_&S?7IV]&XE7KT_W[&OP7YHE MF*QCX,97&_?2B^4S$#WM#]7Q\&'XL/$?/@:BJG^CJ.J\,32P+B*:=]>M?OGTMVN+6\,66(S)<4C=QLO %T:Y]L1S&H#@!U9R";(/,QX-' M5M5_90)E?>RJ<52-J4?+F#N9&0O &B&TZ"V2-M%R990)V[G"@/API?HNE0BX M\1H?6YM O8#YNRCN'#\.&V0NH-\\MACCL]QUVPY3ZY(5OND\&6>V=M MN<$T!E1ZM0 @U^]._WKV\OTO9^)D$TCVEU1QSKFJG(M=M:-S3 M-G1VFZ13>HC#@6AHMVZ,?$G5+J<%!\$EC2YP&%+2,6S0[%G9A!FT#2V"9684 MA8'?;NNP1.@.)8G:=L9W2A%&* EOZC=W!&'.]EHEBU8"QTK(P./EAE@PUV]< M?PIN\E6*D9/??T\12(?[A_>_NCNE[D,!7MGPHN W5[0=7$HS#7U_^K#)OI^T MV;>LRBQPMGSIM6PUW3+,^W;'65EFW\D\'\[1P)+50+F M));:E]G"[>L0&>47.RRS(#Z@ON68AV 5O<^L\D5MZJ97[6>M@S'7>V7SUZ4+ M[#:&=0EQH8 _'A\W$F+GM\;,VO^$QGO;\T-?0&PW.P;.EU&R7 [FW0[KTFS MHA#=SG+EO9<%.@GPM93:B=P*T\Z[J)P.DY\/*[PJ>'#0T;ZM_0XZ^_GZ]* M)5L4D4_S^WN@T#UP-/ &EQ2J?3>]BG\>W+O_KVN6I1Y]PP#W< "X=0'.R8,' M37GP5E$[^Y QF&P^B#X:0'0-$!T$Y8TENN[_!X?.ZV.[&>W2=QL!7^LL$S!3 M[GD_R(UCYIIK)IOZ;5GL/Q_N_YGB&;-2)O^ZD[:D&^4N&X!J;A7H,A]N]\[> M[CTY7.Y=O=S_Q7^N^7J_+5/(AMWN8'7XQNYV4/ ':!ATZ8&4K&NC&N^A!58/WH_IC-X=[OZKV?RD2EL]=?R] MS8W'XDKUCH:G87,L5W4H:,/7:+C'M9ED9#]CCZZPK7U@J"@Y8L66%!+;^)<) M8[FT4%&Q,S*="]URL<"R3BO7=)+[0:9!&:M:KS.:#DMMF?'N5#&I[[\/2W+V M*XIXX[&:4%EJ[%2%@DW1?LH4]C+MW=SM'^SO_CP2ZE.45*:)M!**6M-3+TB] M@Z7Y=G.%317Q=ZJ'745E19^B&=YUX;KL81N]!%MC1DE6P .N&Q=1*6ZZ=\1R MEM;<%5+#>G@R&?U>Z9R[Q,>ZX&:;\'W&6\$"W#%/2Y" ?4+V-J,8Y9>]]N_% M"]L?O>_.#4S X?SG/_[Q#SI0^H._QV--7>F2HK-T2;N"G0JQU4S0+B[6E)M= MA\*P)MX"FY676"K=-D=?5=)LQS1KS64Z5=S0$_B8:SMHH;*UHU7ST6FL,J^, M[.*QXGS':6']]@M=J$O.B';A3C!5.&LI+F998CL^;ION[X";2L67[XBH<-A6DHH2@N02F7:77Y4\ MWH6"JD]OJ*#JTZ&@ZE!0E7P6?FKF/3T]YTM*UULMV6J4!1 M_' ?LP#LM\% E"6 #QP<[0AJL@U*ET9Q?B*FV(29%31>VE=J2'L[K_?$'!*W M@Z$_8N3R>@2)

0F Q?;)=B_=&YR$EWL#"\4$4Q^W.I(-,THN[]\?%I9<=N\#A M_")<)SU+6T5I[08D*X^2IW8=M(G6#E;+G0)%XHR M-9]O57CM%GMWHVSL972K_@:]R!N%J>=*IJ2/^E+6P4'>AM:2+%B1)'<%M+ZT M=^3!ZM:1*_UY?UYI:?Q#! =&/MA;9:5?M;"GCZ]W9<^KX[>*=:IBIA>(VX2. M0"E.X=WI3F0LYRBR5R8RB(%1CN.6 !S M"=B; __ @FN976" )( 6[ZHQ"$@:F8=I>M#!LEH!4#=DPQ^ >UW@'F\L<%=I MHHI"J$]H7"P2$(,R+^F 1(#""D FTN%N6![UR54S60!."+)&=%3QR_1*?( M@#:W#6VBC44;)-QCE8*87:Y0G0!1%O:C%_\--]G6J?$QD6;$#U:)S)T\/UZ* M"[G$41(]UXP;(\M9ZKJ;1XF=)CO"ARU+"K Y5_,J-7XDUE$J5(:*WFPD[4/ 1G? M6H:A '"GVBC'W;:!93"W=?/)Q'Z)S^M)W^R1D@5;PP [G+7+=SOJ$OM& ILE M S]C-Z+'+L,^8XX*" (8$"]QP"0K"DL<'-.U-"HC-L($K%I',Y'(!1X*_)3#\;!2%PH9\"4Y.#L/;<7![3A1P"\MEG.)WG@\ MHBJ=2$U^]+DN"IF Z)!GZ712)>%WXYPB*^!=+^WDWK RT+7;1M=6AZW>?&> MH/@Y/K;#3?:QG41^KA#J1T;&#QM=_ZSA,WZ0YT(9N]?[C&L>^=$: MOPKUP'5=,\%X$WK.7Z4496X)R*8(6QO&FC98*]M<#_E*QF.\B6'R53]S*8"8 M992OPZH& ,<21L#<*TZVHDP7[4$9'VUH+K51E^% .;*3HBR!Z1U MB92?M"$ 2Z28U^3X),! MYK$%\=+P7S] +?K7&7VLW-I^'L>^ ('3HC5\G*!9=%P5.L6XAQC43LIR0K+2 MM6O8E](?C>S),J4UN=J5PK>8W4>0;VTU9I&FM(*9FDRV''?)9Q,W"1%GIJR '%(4W@62 M0#,[!^Y.^3ARE,%MMA;> 8 K)W5Y\O5%5K ^O&DSWOHWHSYI9 =!'/E 2&^9 MQOY@DS7V-\"ER:WR4I:2I.Y0[7P!4E!$F9,FH[/EI^X-KI+1AS2[2%0\11-1 MW5M#]"3/(L S#J2-A4&$RN-RQZ N!7IA5XT6PQ$1[2&P]M8*&INK-JR6VRE; MR"3 4\Q#D@" CRQH$UQ7I4Z(#UT%HNMYP!K?WQ.XV M5F\M4AVK&G$V3(<.(F-@><"15&XI MJ8*#/;8#"9MDH@$P7ZH0JJ8\ 5'PBO M@9$UD!>#,!6>%\66K+-VE"YP$G:> >_.8PH 60J53N6TT^7;V#R^"\2G"#Q+ M=FNYYDF(;?_.:^-G924WU1LVK*C&5UT(@/.'PJ8X99E[+M)"=!_HP MOM<]VOIXC"58.%HCDD88\"S2XB4G6#+BF8W-LU@E/M O2B1@9E%3$-'AY,,R M0'E'&3H03((:*/8@WZ> F+Z8%!X!4(_2.) 2>5'L7"F,L"U-?XYGOB%>W\6( MAX.;BG@X&"(>AHB'Z]4//]._^O S_*N;K,MN=I;"^AJHX8E&E55Q:*1A%D6\ ME%6P256BX0;X8#0#_I;7C<%+BA\D>W3-T*YR957"F?&1]6FT3DGK##6V\^D\ MK!] C*^D^./"AC:BG%'8J7>N)HC?XY#'B<[G]J=5Q]F73,AQ&"3[A(^0+<&K M]RR_F_.\NMP\8/.W$)OO+42JB'(]MC(SP!( NISFXOK54VL GTL MSDKC1NQ7]0CAT);K"GZTWT[45'/8"@"8GQ4<4XF,R#&X&K*N966JA?=? M6G3"5U2"9:'>R]L(LX HU6Z5EIRV_5U-22%=MG[W

77L4B[P/ED3OD?^68*WP%!]=M**V3?>T49!/7M738YIH( E M@A ."(#F5>&+S'C0T3=^>[WK[9 M:0'^HY;=PYNR[!ZN-&S"'^,L7AX_OS%\T.#CR!Y2,(& 087R9Q?OWT]IP\ 4M)L9IP--549 MBR1PKGWZ].7I[J>K=ET\>[IRV?S9G_[?TS9O"_?LK^]_^C%Y,<_;JG[Z)7\% MOZU=FR6S558WKOWV7M\;?EMG:?7MO4=7KK#V9N];-VKPJ[R6SJFQ= M"4^WKG";556Z;\OJWK,_/?V2.WPZK>;;I&FW!;U>MB>+;)T7VR?)%^_SM6N2 MU^XJ>5NML_*+-*%OTJ1Q=;Z8)/1TD__=/4G.[F_:2;+)YO.\7#ZYGY?)Z5E> M3K"?C3:^SNIE7CY)Z-&HI[_\VE7MI-<=?WEMGZW[U)YD1;Z$ENM\N6JATZ?3 M9R\^K?)IWL)#IP_.GWXY??;TR\VS/_VS1W/OV5_*:;.9]#NS[?<:GH0VJ GZ M>)G5>5:V3TK7;Y+W+Y[_]?7//_[\PZL7 M[]+DU>OGI_O&,]CFFXPH]/\[F//Y_?L/<)HO7K]_];<7R9L?+UY_OL$\S9]= M-,G%VI5S-T^RILGY_?,'3[_,!W3Y?VMK/G1- MFR^VNY:#GLQA)>#E!X]H1&>G/*:;_/_3[MD[7#I8S#:I%LF;KMY4C7OZ9??L M-'F_)$P))>Y1?NF2-T56)D,DE?_FWQ^?G]R?X+/UY-CE.H"EX8.I*MP >,GZFDB/S]O-JO5MTTR[9J\=$T#.S'=PIV>D?9 M,0\J&5VM[ZJLAL-1(]6M\[9U+HD7D/G-BT\S!WT UZ!S=)4#W]G4U66.?!Z. M$!(H"UW)^='\&+A'45VE?N5MITFSRHH"GD@RZ<@A3X(CH\3ORH;W+HPI/F5? M-(F,>Y%\G]?0<54W$4NBGSU#@NG!R5T)#YCY5NFL0AMP-AL8!QY5^$2/KMUZ MZK#1LFJ3 L]\NP)^VEY5QSH8'@(L";*1;+.ID-,!^ZFK==+"+A/[P']E:OQ\ MGW$.)ZO#3A.7S3R#T0'!QZM5/ENE2=;2#]0%?$LL@[>@ PJH_>*G8<6/\F/@ M=M)[694GR@^3N2RC="[W0PG\>@',>2Y-ONT*EYP]FIX\,'U[VA&= BOA.*.GMT-/6K M#KT=$_\]RG$RI_9J\:ZO91Q16/KK;38S> MVJ@>X>(VPT_429K\^?3^&6@.=7*9%9WK$X=_T%/R.MOR5& S M"SPZ\^/3Y*_AC@>J@)VFBQXN()@:G$T2#D@:D/O,=& )3LAD[?!)3Z_Y(BDK M -(!$4WQPL?_FU0],FZ=E75(#TD1WBKYCR?(H<7Z.4& M**&9P24ODH6[AKOIJ(YQ[ VHDC,>:9 F@$I0[:QA6G#5%QE),S#L\ 2)5" T M9,0D+JY@;9O!086'0C/X=;9*Y*+0+S;T*I7T-%'E:E MX7?+"C_I1*2#C-: :)ZGDGJ2XR&E,=W1=WOH>-'!7T2,]%Z@+Z+E"FB'+@WB M)BD,=MD5/!+H!S90^ 1W"4/H^#,,GU=AI\3"\JP\!FLZ[V8#L5E%^3#P.738 MF','[V?SR[Q!SM6;Y!=-;Q&:0?>X"'*OX/Z6(L9'ZTVD%FYP&08P7H#-RCST$DC5H4/;8H, MKSEZG_KP+.TTN8 O/O Y#;L;'6YD4VW>HJZ7);]V%9Q,II*97.N#%HP8%C<( M(\N\I ?^.[WK<(5+#IJ2K2%'8#8V\U8'<>OD!=>\L&X@BZQ'3A2.,R]'1_E M7H#U:B2T5>0SDE3(_)(4V=6QD0.Q!9 X\C#3J,W3Y.5 B T2 :XR'+G:@69. M7R,1CBP(KB/+" F:1I$RLL+/0V1OY)9KF'80N&D"L![X;]6UR2SK&G<<-5?" M(=#G1?F@720>A>T"RTR3!=Y>E]D,5&YD&"O@/IRB'E^R7+&M_?>_/#=?][3+J_R>;M"@^S]?Y\D_/I) MX1:MV'KE&[(5TU=HI([:>OG^K6_,FI?%])>8#GKOKA8G=74U_'+F8'W?_/#Z MEY_"'. )M,+;?_[T=%5KQV\N?GAQ\MW;%Q?_>7+Q\OV+MT]@CZZR;3-)IE4- MO/P)R*2EBP8S@:N$9W6^^32!$U%4\-B_W:?_P7O9[..R!A%J?A+_-%B OWX_ MO@"XBO_P]-___/S'O/RX=P'\.HS2SS_@D8BL_/VI_"ZOG-E-KQQ5#1_>_^9B M[+9A3A?DT6PV0_&95+@B)R,<\1G;CI[]5TCHR*K> K\H.VQV3G9"X+*E/,]< M%@0$$HU9 V11E]M,X;% +:E@U+X6R0NU&6L'(V(A M22]UL@;=0PQ*NS27([+?L 4^F%V&LS"&.Q)OH0<1E[UM*M-6>2D$&\(W;H6!@\TS'LAC#(<8J#UT%?+#._%I 7Z 5L@"(#W&+D15? MU$KLLZ_5L51GFDCY*WD%APAR2]XTG1HRHTL[C<3"QBM-]%6LB8JN-#+! M2':<)$"+:@% (D/K'R\UC+DJ6-18Y)^@-[2IL:?C4[X&28\'A8M,MRQM9;7A M90%)Y8-,F&AUN#BI"APC[9$RT] B$ UT&QB$^^3J6=ZX(%#14.,%LYH8:ZI^ M%JD8TEC* QK)*U#O.G+!L Q++^S:Q^A)$@9O-LAH?*D:]&@@2+DX<;9X)&J? M]7N( B\>T(5"._T5RIS3XYP>=%5^,3^#%5X33U MU-2_RM ,[7F6;N$&1S7-BYQ8QN[#B^.5Z:H!:O?#HOEZQ1@=97GC5X 625E> MG\0933!^-(SU_9) 4U(+IN+H797=Z?7"P#_#)6$ 3<.U#T\$=!?5C3N M7C+/VNP$99]M6WU[;Z-?=&UULED"A_OV'NBI=2O?S_,&]/HM?7\NW^%8&.;3 M&[7Y'4?^[3TDX_4:]1/TRWL RC'D,#S[3W6@'HB M_.]$MGIP.Q_I"S()(^/8LO3\!JUJLWS#_,V8O(/-@,SG3.#&M8[P?:J,*+QWWYB>REP-'?&>^WV) 84((/ S//&^^VF\'Y!):1 M#8VB/=O0BP@(L/'3)PFJAS3 22H< NBR' AZ V,A]4:SZ[7L#_=I-OP4W,V4;,OL*9>(]^C':D=)XI$29,5N+9S M7LL@@0Q'@W;KD?%@WR>V;_[@VPTO7S.>@].)'M[NW+XE=^5%L.[!8>3K[;"Q M#0C[ &(\Q*7X^IR7(H]A'J/_X#*%)>I)P"H?"?-',*UZMNF4SJKU5!P^RO\6 M55%45PAZ%:?YSRQX3Y)W%V_A_Q'\5^?$K>GW2?)+60^^XU=_*8&[J@[$#)A_ M^,Y(ZY/D>=:LDC>N)JPOFG'T!WYE])>:YT9L>P;OD^VWJ#)4,LES-6+;X>9D MA?!*J$GDJX!=%QL4>6NR@N/M41#;0Q :<5T4&*&U:IW/H%50T,U]V&:?Z+OC M2#95(VL.!Y@#?ECJWI[8:]2IZ+ M6L%;\M^XL /CQ-%=_H&C4]3 MQI6P^2=#, ]CN&'N1=NS+--2'"!A71[O/-ZC)/8W1Z#3-'G1SH2TQ.E-!U8- M6TO0/>NL$!2"=UF!](M<)MVGZ!J$:*W6<8]-4)JE/494#H@JI^XTA;T&80_$ MNYIQ,4!&"Y>3<4VE-Z3/8]:+Z5$Q>I).8M7')L @?7>,G22(OYI*:02UPV ! MV]3AD% ?<^,E=9"A=;5>R&H=MGZ#]Z2"?W[*0&@GUTBT-J!+"&+;G@OW"0$X M3;'5&]"@/=/DZ.)X+X4*+V8HV1A71-4 >3-A8_4U] :W>3$P6\\% M%Z"MG -#?(^@-K 2ELT0G:KJ?M34<8)FWX">MWA*,1 QG(F@RV7.3Y+Y*&-[ MC "9K=N:UF#"+IGOCA$ '#25O#%STZ:X(]:8&"4?*S-C'$KZ#3=B56\3A]N" M]Y7WMJF5B_M4ALAC68F-CRYB0K-625,=X,DP1T//0?(&N+2[J03I:6Y3*Q6B MY]KJ],CK0:F?>/'1^*QHMW:]D:QA1D%LB7NB-X&F>D$6:%K(JZ_^*@YUB"<^242CZE0^PS?8Y.-N&X1 M,HM27E'P)&95^:$KC2V#9(B 4]D2?FYL+HQJ20H".N\?U\[Q#"8KZTM.R(SL M+\FTVZ*0$^UH/))<[/FCOS&]^+@/]I:#$KU-U39-HAC*L8%,LN2R*H ;H]6[ MZ>K:B=P^Y]BE7SO<:+]*(XUKVV-#.H+N0NA K^,0ET/D?E5UQ9Q F$ #,;F\ MOGCW_<5_25 *!A;I.&J'BP[L3P=1[5F?CF\_^MT+ZJG22*:/RIA@-3WR-%8X ML*^SKRGNYM1IB=+HM1$PC;/L7LUS*UTOT M_M9&?XM'.J&T0/Q.VCFKC!X/X_!HXQ><7H?\()M8'G\G$^N#.Q'IG8MVA M$I[ZX]YW-3$?[G^;9&(>55"#:ARLS'AUS =M1=XPU!\E:G 0ZT313$TRS^$) MQV*H0-.HJP;$6&A#A+$!I _^LN&>/$R4L05QZ&TN2;[&G \2DH!@..Y%8C(P M#C+UD1/!ZIO&C8@)D!4GD<)8>'42X5BD!"]=(BX!09D+!H;!4O'09=S0>2%P M-/D&81U&^&&E<'0&*O; 9>A-6F+,FG?!GJA8-]_ A._52PJA"]-/=:O"%@R" M.314C/1*-8X*'% :1 ,IC1X5=(;B5;,9R8NL&7&'+,11* F0C3&029<#PALQ M"$]$^O2!Z6PPPR\QU"\/H8S[*4WB_8SN?XK"2%-916A L(/H<28Z_+L_>-Z4 M(MNP&-,GI<%[(\>"H09:*9%WJQ&EN$F+((L[0@#4GCGK+/496*MAFUY/M*S MY:N-U+I\DY?J3HL\.[PL33<\^;D=D]2P-VE?*GP,K/@&B: M@)D>=.X78^4*TC&1$597O5F=)K]LU+MP^V$E1S@Y-JIA8&] = M7&(QU]*#Y MH0JBER*S"]B^VHTZVB7432T$.U<>+5]*"6F_%9/3PFI+ Y2[!O,)LT2UCF(" MF3(9P69G:<(@-9S>,VX)4+RN.\.<^Y&RWG!V6;4]+L[AX6*HI'9 VL"K[T8JC*@>4?OAL$Q/1A-QACU@G S0,BP=#/X^G]-@MAW#&\N._1;22YN)3O0S9O%>1F(1GJ(@UZO5@ZF3#PNI@VDG_TM M["?D=.^M'KC$^-T]O*['>0;[.(;W,78KGH?MSDOSFG0C]EKTYYZ^I+ ?6+A# MO)SR6R(=AKA/HJV? \[SQ.(\=SNN:#O;*&QGR*]\]*'-?F/(HQG!H1JQ9CB> MF\.P8N::)ARKEJKGQ4PX K8R#C5V'!T@75W>*/[;4]5K+U@@P< 7Y+(XF\BG MY%]*4K*1Q.JLYBLJM!>]Q^TS.W#-J2'+X:\)1=\1_&!P_;*HU4\,0CYUSAL: M9?JY,X;?SAC^\#,9PQ_>&@."UG6 M#R*ZZ:7CE=QW)!5*+(V/UX"BV'*Q L2^%6=+;3]I%V)Z.5$P*8=^9P(QS_2%VIRI%^Y'78-]F;M[5 M'(?ORJ:K8SB>/@DW^F65SY-YU44-'&7 CM"JZ3YEZTWAO#F! #9X58,DX-:< MRW;JLY;1/A]+&H^/SE!3H\B],:N,B+RSMJ/(^D!7\QSS;YL4C8.W#>")!N]! M1[W<.%XUBX+H"0+C@1#NTR:O.8H84PP00@7=7N)0P3\;U[8*;$(920.."6FC MRB[;>3EQX-S-O825Z]!,%V5PJ8POA=ZF,'#PVOS);I3*T&L-Z M<-*2\73)XC-M),=Q(LZ>D03-A$,\Y*1:-TN9%K#S6TZ,8F67R$0?SF_/[-A# MM8I$(CKSW_%Y8+A=*::[J$U$J85;8^R);": MA%;IS)*Q$O"*=Z>)J\KN)_X M;"$UC?L:-)8I3.C0I:'K\J_U2&6'<2YA)2*(2#L35?5WQ+ 0351M4E69S$0F MJB#G;!>SK,#TT34QZW"%G+&8?9J\*GV.T1BZ+8D (T%&.N=[!'FN3\2,5"B5 M0'9/0X#,44:H %Y_BN!5H@K)U)5N1EWL"B M)/\?UP/SE\/3Y[H:+RNY-\34DXZ,RFL4/:Q\QJ/$&\5,LC.SQPX1/V$'D".,S&RH!F#( F"/>1@$T49RK5$_0 M !(UV;4C*5GZF6[\P[+41'/&'2Z;-$/?$PZXV^A*C(N2 R\H79+7BSJ'QZ'< M/\*AAEP)[H= NW\^QT-!VKC0/ $5A,U@P=)0'-P=;8&$H*$U;,9*'V.!7<;3[RQ''R%M5BR M*1#J,?-(S,"E\(]Y511 V.',Z-G:(*'362=L"LSN"<7'K4%DS4$UW66LU@$U MV=K9A66=KW8]=[%/AT:';F_=+-ODF/OP[RI0 M_>3J):7;U70%!R>?W-)5\'TNF8(#UL$LL\HJ+5YB#9IWR?[C+4@^+:BUPWBS M,*LW8LH3&XIF%>U:W]P.>8-NGZSAMD/Q*@5YDL$,1/06 P=B.DB3-9%!2AI0 M5>1S^3K*#U8;PXX*/6E(%MG U8*RQZP"_83N'7G8Y,K*8,3ZZXM+"HLSR6:I MP-QQ2C'%F-67,T\$5XJ_]1!8(6_NQ*JEB&7CFD$D?=67!E$HI2X(FE9KZ"X9 M\@F.I['))B>RVD3TW.3ESB31=?(Q+^=CR9V#4A#0CD9+[F>9ITC@80^IM%^' M@>)NF\I(S@N]$N MIJ8D')Z,*+;;NFB#)\:C-%D IP+2^IZ!>X+;#RD0I"D0A+" MX+U?>>F5?,H'::/BM2ZO-!?AN$(R>&%C&D(3&0*GCKS!R#O51N #P/H^TO%I MHIH[E.K6]J'Z,:.OMTI/,QZXGVE?3)SHI@--(Z5;4X.V4&5 MO_T+:\V;^?XU],E[=LX!74-+2I\@&6?^[NK*5Q$X'E/-?_M9C#C6QI'5)BLU M@@(8O6ZB".C: @H5I^#> Q#\?1%/LO,QA!Y/+]QC2+> M7M]O4 M@P6,KS&3I!@:+44N4).TR:RAMM=I0%LZ#K-!5N=P"))+EW5-O1G8WKSL:UPS!SHWB4]Q&CS8Q.:6,!RDJ#A>A:-H;T M'9&VJ$0"8^?$2WQ/A[Q_'%9L"[?OQ"/S^[359 MW6*5180_+S&%R)T1L5Q_5$VIC=,R]RIY5W7 &&B14$[)E"(A&0H3>%@H4T65 MET$(DV*HN1>-0/K(-SE+E5Q#*L274X2J6H@T3I4^:P1Y>%N46!)BYB MKTBV MRZESE+1,U:#OJ+[)+)=ZT5/)!2PJ3)%=T0I@V70GFJH-_I8 V* T9ZA*-Z % MI5HAC#V5"V?C0?U(T[&S.(W3RK+HODW9-K4-W[75>#*ZWF+@G,/4EQU6CF+C M$)9N*H+G-4,+U.&=KMEM0OI"M8U=60]WA**':N@J]'..4PZ;P]!H-H*3Q2 O MU4!,*@=)N&,AS$>H#^'#PV"G4,8\J&98#)F,-X(88NVF:HQI9\%D0H4;QYF) M6&,.CT[FUW+AU]7^*\[4_0O@/,/-"*L7E=+3I#D1?IEYA9)?,.1*_L-P"V.? M>L9MC'UD8L8]UHC>-,#&S;#\]2N3"S><3 2&:]!YS# MG@+Q0AA[;2 YGW,__/J%H+G:[*. -;2H.PT!=G-KK(#]5!7FIC+I2;$N7F7P MB39C2Y]+"0L=+@@5D@U6%91*?%79GAF*$+@1WT1_X+(+242IP!MBQDF6@0M4 MD$2MSUJ+G-JDM D1T1'2R4Y%7%%P8GT.6= SL>H;>RK[ZW5X+-A=RX+?W^ < M4+P0K6;P-*O-FB(G0-71A!P4&))1,6).!N()B'!E4LLT,^8QXTNYR:$43L%P M?G-$%3EKA$TCBL.IBC%R/G%X%.>C;F'H M<4Z3:%0JJL>^ GQKX=":68!$BNA7J3Z%OE%>U@$/1.NVS_"*+%HV8SPW11]' M2 ;PL+?B(*UKY+ER\351;Q38IC!^"?S"">+C--"A?$;>W,*^:UP&%PS[U3>+'4O)+0K?[XCZ7[0.=^C5-- MP;VLJZ8YZ3;66Q 6*UP/=%E=.MGVF)+[A)RUO 4J4@5;A08B<88S[/]@4Q0O M;J9FO:XBB(763NV#.P?U/'NLSB:/0^1"D>440NKYKK%D>/7;!)YQJ=+7PA5# M:>)2C!F:V!S836GD(8MG@'/9<73!DHDQJB[M+2(R&)0@M)HT28OTX#733O%> M8L\K]=^TOJP1CL,&$YFUY,7S=5?E2F!KR6"4G*0] M])EQ;2C,^UT+/Z0HM14K76C2A8LA5(<;M:-Q M\#]* Q+^CS:Q;*3:<#PZ/P#AV5'? J'R:( /W7QIX]T-# !F'^FE<]?D;-JV M<63 G*MEB1*0#G?&D$,614!)E5#V9%/!P+<#,P&6Y:;3 ME7"D&"QZ"=8]8BVM*#F#RBRJ'(*7=1>/A^-19\.S1;LTR"5TX:DCT24JY^&$='#^/2^ M>/'PXOCE2 .IBUFKI)UXD M7)&^R?^%\JI@^W](]C0IQC4P[?QQ2?VZY<2#/K*@O@K"W&?$-I!HKKAZ?+"K M]EW7P EOR$.C 1 CBZBQ+GU4-WH6JGH))SF.))+432&6B!3GK!##1^3RR!B3 M0!FP4$*A[%594+U!;'+!K*AU"0YUP\;#E,?H?B3&73$6 NEE,3I*GVZLCS $ MX,]=WI@ZOU3+5S@2RK>*R(U$[-YMKN(F]Q/ SIS;S"-I/) '?^L-%!%;H_,^ M7#+PT8'/H8NZ*B(*2-5A'E9U?X1+RA*R%ZF\PA.RG9>@?[0Y 8M"!$QJPA1G M/!#4]B_5;Q3" HVW(B4"?4),)4O&.%#J<7=(BU)^I77^IHJ?@O>N2HFB4/TVN&?B@V/AX9(>?8QQ[IR Z15:@'Y3 M,1076X9,Z*?4Y,/XZOZ_)^B9%6T,M@M_)SD.\Y*,!X_.>!:-SY3-X\21P!Y? M5IP#D>J&*CR^WY@\9'-_&< ]E2"14,-BZZV_A?/X"36!-^-H+Q]*)( A\O.A M(YOBYU#RV;V,1]> +[*H6;8KQY[R?D [$7L9).(J%O?7>J0'-]7>+*NNN4J MRA[1J+D9UO@XU'$N*U^I&=,15MT&VY'A VLW-:?LZ8A;:#01]/>WL&N>$W:V61P!;2'?G?#)A M*\%=8BP@U%$EKK_OE>3["WN$'X2[O^+Z)- XO2>\_=CB46>..:( 4#GP.\[@ MF&$!YJQI*0_@!\Z"+IU>.YQT9T19G&'G"YOF,+BTAID7_5H9#^(5&2.5(= = M5%:^T@79SY19B$QA3$/#$5]E<=W;C#D0[L_NE? LB*D+43QUJ$K>VPB?@$[C MF=@)AMQEN>K=+'R/0(?..KQ[#::480]$*F55BT&:KWY&(UJSO,R1V2!_Z=8; M9:>$W'&:FG( _)''!:LNAVI2(VK2+KM*7EY6A0<$>2UD!(:+$#34K>D> M[>I+-I$; 4D$G]^JKYW]T)V'OYJ+O!\2JW -HUK0':;AQ*$Q <7Z_#H2*QP0 M;&A ,)<%^8LBHQ5AGO)?.V^JNK,T(5&.1Q+M,%D'-83_,J#@ @6O>6A,0[9% MI(M0G257WETGB[Q@(6[%X*:5!NCU*(]1-P%#K]A73=Q_J)$>U^SM('>L;FOE M2ZD-0)E]19"%'Y+O>\0P*ZJ&"RCD 3PJWY9^%,PY'-0R9(VLFY@FN! MF(AWR0L*>>#?27(?=AP4MA(6PKJK0K=<]3!2(T>B6WS1.0H-P=,L#R((,Z80N) MLW8PT/;*%9?N!-:_76F12_*F"@>#I46]"OF=EB?AAT9\YV;K M]K@]_]/ Y_@!5# ].E4Q,4&PSC-/P/S\_WKO[!+JO13X;+ MFTJ*T6'L\B# H.0(]*9*B@J-Y8VUA.>-]6NPL.;A;131J\XN\3-H D'I[G!W MYR9(")^#(B36L^\]EU1NFG,JKFY&$<(#) 6#5[-&,[KX3&!43LY8$=YGGY+G MG4 C_Z.:^BCN\_MG7W,+F'5M[N/2?*4*C=L<9E=%)X4K&U8J.$''\$"?/3H_ M6A_O/=-I ./ZJO)9G*TC!/N(V*BY:&5U."U*R[H!XK0I3ZPH OWD#82.7OAB M!=R5CS_T$[DC9D.4(_0<4MKZ)(1D:^LE)V!Y/H]C;Y6H?!86K-^R30,FON:" M)Z[\4)G,#%KX;V2$/B)-0!V88K0,:7^I$J'4]$.J7E/!)Q(F;#K%N$"=]\X% MG?W(J*'B/R=K4;!0(@UF#079!S@!^K0^*9DV*;^#SK2&E/8T>-;14H79@Z#G MJ7B%R0GZ0;(0+UT%S'8#BXIH=.PH%1^0R1TLPE"U.&9X"T+>0,"N^=#!7PP( MF$!7O/0Y?DG8Z8D'3L-?64W86$60>(_J',-@_48*^H#<7UAHA_==4Q"E',*) MJ1_0GI K\&&-CP;+)ZONL)7KALKM\=+6G(]25AAVIB/JV$@*QT;P0J'@!%O^ MQ'1$RS,A/@7'I/'1 GAH,%5?(T![,D2@2%V4&3"G:DU^6E\7"Y,\ M@7C3T)\P-A06T1O@G[6<91+DDM[7,(UJG<_$L)3-@58G&#^)YNRP0A7 [SI<-$ZA97^SF?*KJ>9-,GN[S5TQESJN<3-U%R429B;+Z;1" M_G6I=2K!_Z@X]88)CQ%'.J8M*&A4-E>-4PJ-MV.\MSZ,(!HP-;C&*\@4(;"T M+8RW\=_2$Y=5T:V=WUU#PXWD+Z-[C XJE3FH.\[/PK5TAX!1 Q"_T2WP1 8>K M?-/XA#U\T/"Y35Z>5(L%6BFPH,-)MVD\@*_(/[I)S\%%Q#DH_4'Y5CK9$"Q4 MS,P"KYTCFT%G[J9< 8Z8\K&H_^'I230\&]85E2(-I2,$*'JCI>/1;'M-WR66Y^,BK9)47#*V:W4)Q.XD#'3G,'1A M:[Y2+$[?UAHK@.V?^H@K!"(=_1 %B\ZNH9Q7YMR;%.@FU7<9(U^ M7E>7 8SEW?VX6P^E0]Y7!GUE8?SX(0C+1U^%IT5H=.:6QR<>R1-=.>WF<.Y0 MAQD1LN#)KPU!!VZ$LM.F@TM6/SMKB,74I&T>Z]:#VOSI?<.>%@JWX'-J_&DBE!, WA;U MM*Z<'SR^&BC8$9$:4GY3HU-U@]&Q1W%N^T"AQ^2P0W64E4I9KW[HLPI+J9$J M*64,G4YD)!@9WFH<,*7=*#-&_%.FG*YI!*\!_V7%%E2$.^?2[9Q+9_<_DW?I M[/Z=>^G.O;3/=O56LO=1D@BX]/?983W*RQAD@2,N'''_?H*V?&$M7B'_ !H: M4/YB-30_8"/XNXNWS87GR8CMH%]0.%1;Y!I!6LJ*Q&*U[>RL14"1$80>&YQ+ M]CR-Y=H>JTYGJQ:)-WY'C!T\P'U+W:DT05:5)OW+(I7',,M05'5QS/?6Z$ E METWD+M"2?0=-H;K<(\1920&P^%(PQ0DJMG'5;@#)IBO#Y.LV;B0MX17H0K8( MGQ-< BL1E-FE/ G)\61 ![YAAO#WI; P8?&]W4%C5[\ISM&%8/N 8K6V$]AK M#Z:Y"ZT/.^(]@J-; >I]M4:;[XP\+)*]S40DI-9\BQ)44WGG&YN"&ZGZI4:D MNFO(&-25H3H"W1,F1D$&EX&B5["\(]\,8/$2IYGOB:X="S$F.P=!D&NR)$GS M8JQ%5B'+,?B);A0/(*_U9XV#I2M(GJ7!^G;NHBSN3WXIZW]$7 [2R[,KI]O&DYM$&.O24F^S;ZN%9^"L$N M5RXKX!*![WZ"KG-\_T][9Y=:$I.WN3W M[$QE),=;QTX]E[PSY?$N)!,GE]I^[Y-(4*D!$QOC^4+7'&+DJYV$3*XH _7*6;7];.9 TA1M*#=HR&4DU*L( M+QM-Q1[B8(SJ#855:6EBBOD40DFXV+ZRNVAS69F4J4;Q[A7F597;%C'T^5+S MQ?CWWJRF[2- T)3 L ?QLR1<-:35RQW)*1!:69R(<$P:!H+\K3=L#J'AFE2X MC]4$LJ-8#G*V_370H'N!L5HLI>3@\$FVH-^WL$3)V:/IR8/D2%?#ARO@^D68 MQ] &'9D XD7L@UHP9^UQ*OE/;;6A_C:IY80-47ZC)3-8[ ;R5'/6&F-!-6^EW8XXZL OB"$JP;#@.@K962_ M=8]M5P>^FF=8?\\_P1/?IUBI^/EY)!H#Q/WMP83N6MQ'&6KS+Y MCZYTR3?8W'4E\ALYGKG46A-,@Q(8(&2/C MVE3[X3@K $O)5Q"Z76":210&3[8XNOR#TTKOH@%U7#2=<+UM*> GSN^\B3, &$& 0 - 97A?-#@W-C$R+FAT;>U]ZW/; M5I+OYSM_!4C"!@$&#\F4X? *2D;':<&VJJ,A9)X#S[].G'K[N?KMIU\>SIRF7S9W_Y/T_;O"WMF> M++)U7FR?)%^\S]>N25Z[J^1MM<[*+]*$ODF3QM7Y8I+0TTW^3_)J=G>3G!?C;:^#JKEWGY)*%'HY[^]FM7M9->=_SEM7VV[E-[ MDA7Y$EJN\^6JA4Z?3I^]^+3*IWD+#YT^>/#TR^FSIU]NGOWE?WLT]Y[]K9PV MFTF_,]M^K^%):(.:H(^769UG9?NDQ.TL)F:.,]A+5T]D]/!"HO\]IOY_>?DF M>?_B^=]?__SCSS^\>O$N35Z]?GZZ;SR#;;[)B$+_?X YG]^__P"G^>+U^U?_ M>)&\^?'B]><;S-/\V4637*Q=.7?S)"OGR5O7M%D+'ZHR^2FK9ZOD[&&:G-\_ M![K,!W3YK]Z:/TL?_[-=_= U;;[8[MI6>C*''867'SRB$9V=\IAN\O]/NV?O MD 2 *-JD6B1ONGI3->[IE]VST^3]RB4;_@)_:U=YDS!%ETAK^:5+WA19F1RM M7.WR,EL ^26U6[BZ!IIJJR1KX"67_.W?'I^?WY_@L_3GV>0X@:;@@:DKW0)X MX3AO2([,V\^K]28KM[Z!=E57W7)%':RS'*^2#(9%=#UWEZZH-CJIO&V2:=?D MI6L:V(GI%KZ$0<)]D+A?N[S=GDRS1HY$!>W52:X3I%'.7-U"#\FF=@TVB<\M MNK:K7>(^N5G'#X:WW7I35%L'WUVM8!'@,7@Y2V =<[SYJ$G8]#J?=JW#3SB' MHBJ7)[" ZZ3I9C,8*36XK*NK=L6K[Q)9@Q0_U [FX"#V"S>=G1 M0O [.4[FLBHN>8NO\G9EF\).OJQJ6J*FFS;Y/ =*=,W_YWSY]H?F7 Y-,O:/ M/RL7\W5>YDU;9[21LBU(V'1B#FW1CK+C&S*9[ZJLAN-1(]VM\[9U+HG7DCG. MBT\S!]T!WZ"3=)4#Y]G4U66.-Q8<(B11%A^3\Z/Y,?"/HKI*_2;83I-FE14% M/)%DTI%#K@2'1LG?E0UO8QA3?,Z^:!(9]R+Y/J^AXZIN(J9$/WN6!-.#L[L2 M+C#SK=)IA3;@=#8P#CRL\(D>7;OUU&&C9=4F!9[Z=@4K?+9*DZRE M'Z@+^):8!F]!!\10^\5/PXH?YW&7ZB3M+DKZ?W MST 'JI/+K.A#1F1^?)G\/MSQ0!>PT7?5P!<'4X&R2 M>$#R@-QHI@-+<$(F:X=/>GK-%TE9F9.X@L6<.AB!IWB61\(3W,PJ RD$_R@= M;G=6;^&>O4(*1OG#GWS:2FRFADN\]31[FKS#4RAOF-,_PAM )BBZ.5[Y\&^# MPD_6M:NJ!ODA.<)[->?Y%#F\0"\W0 G-#*YYD2W<-=Q-1W6,8V] *9[Q2(,\ M 52""G0-TX++OLA(GH%AAR=(J *Q(2,F<7$%:]L,#BH\%)K!K[/ELG9+D .3 M;%UU90N/;#<.3C3<'2F-'9_V*R3-'4U:?6>2*N&9=;>#>:Y&% M+?)9;[?Q6)%D! +>AE:]@HX^JE2UJ&!Q*ORD$Y$.,EH#HGF>2NI)CH>4QG1' MW^VAXT4'?Q$QTGN!OHB6*Z =NC2(FZ0PV&57\$B@']A X1/<)0RAX\\P?%Z% MG<(+2[3R&*SIO)L-!&<5YL/ Y]!A8\X=O)_-+_,&.5=ODE\TO45H!MWC(LB] M@OM;BB ?K3>16KC!91R@HC0@\K;*=^0T@TS>\KD"!0-O8#X%_I*">?J##%U- M@;/3S5S24(!9MB 'TU.N!FZ>"@-0HO"R.(G.*[B<5U4QQXYI-D!1>CW@PO@+ ML$=UN&;PSSL5O;>')T-.;R1#>DG2")!$+4W056,N(0RT*IV2LLHV0,GX$2[0 M',;/E":G$+90[^$&)1\Z;\2P\*%-D>%E1^]3'YZQG287\,4'/JUACZ,CCLRJ MS5O4^;+DUZZ"\\FT,I/+?=""$<;B!F%DF9<7X -+ +Y5N(A%5TV)PK #$'Z[ M&:OE^!5RQ$L^'E?0);8#!PN'N;?CH]R+L5Z=A+:*?$;R"IF3DB*[.C;2(+8 M9AJU>9J\'(BR02[ 58:#5SO0T.EK),61!<%U9$DA05,O4D96^'F(!(X\ M]KE53YO5VA@OO_ODX1?/RG!?O/7YZN:NWXS<4/+TZ^ M>_OBXC]/+EZ^?_'V">S15;9M)LFTJH&C/P')M'318"9PH?"LSC>?)G BB@H> M^[?[]#]X+YM]7-8@2,U/XI\&"_#W[\<7 %?Q-T___<_/?\S+CWL7P*_#*/W\ M!@]+Y+7H3^4/>?',;G?QJ)KX\/XW%V-W#O.[()MFLQF*TJ3.%3F9Y(C;V':4 M [Q"&]1:X1MEALW.R&@*O+>5YYK4@+)"8S-H@BYUC\CWI#9^(20?^_"_G M&>SA<\"/L7OH+RL:=R\! 3T[P6%MV^K;>QO]HFNKD\VR[-;?WH.+I&[E^WG> MP,6[I>_/Y3L<"_L5>Z,VO^/(O[V'0YT\^4J]1/TVW ML \@&1&]?7N/653OC/U12'M^#6DG0,_?@WRT9%4@LAPAZ2;?NP:Z)M_0SZPP M$A? M8E3;I;T=D0V+_1#!]#2=-T:G2%'^%4H,B21D)QXQ5'^BK6QD5?')E@)#D3+:H5 M!(D,+:"\U##FJF!!"PXA](9V1?;W?,K7(.?RH'"12<:@K:PVO"P@IWV0"1.M M#A04J;D>.*);@Z85=^Q@]2:+PS089C2]5HR8-!"D7)\Y6GT1MU'X/4=R'XW5, M>VR&N'>Y=TXB7BB2L:\=@5HE;C17:K-/3O!YT=7X!'Y,531//37UKW TQ7N> MI5NXP5%-\R(GEK'[\.)X9;IJA-O]L&C_WCB [L*\\2M BZ0L+SG*&F]9AE,I M-O+LY.QH<>S-UB_4+ S*L>?6HYT?-<@1!H2BVGE7[I4'S8.V- M'] 2>C])<9X!M^L9!G7F?GAXDS>' [G,$+L@_C"=JR^/P&36RS?,,'W=B_ M@^F ;.F\T\;3CFRGYV@_"L8Y+R(0S_1N.W7%@P1:A1>/^X($&4^!M;TSSG Q M)3%.!A\&KI8WWHP\=,G4:('/,!)*CH"I-]R(/$, M+(?4&\VNU[*G\M/DHDG0'B&"$@MJA#D0@4G79<15@YT!BVB0[?)3<[97LV.P MIEXC1Z0=J1TGR@9)DQ6XMG->RW 5#T>#1NR1\6#?)[9O_N#;#2]?,YZ#L[@^ MO-VY?4N^RXM@Y(/#R'S^L#$/" BAM(&>&B*HKJ"D&]XDK_F4712?+NXBW\/X(;ZYS8-OT^27XI MZ\%W_.HO);!9U0J8$_,/WQGY=9(\SYI5\L;5A&5&@X[^P*^,_E+SW(A_S^!] ML@47589J%_FS1JP\W)RL$-X--0E!%?#M8H-"8$U6<;Q&"N)_"$XC]HLB%+16 MK?,9M HJJ[D8V^P3?7<<26LJUOC;N&SO3,O7F9:]/0G4Q6 LZEN3O.UHSS & M=M2; KX1LW9GVKXS;8\SYAMR9N#)[Q7889GSF&6[!^+0US)_!_9-+A8(XV$N M+'D>X%79WY(^M-1>'L]%H^#-^"]<,S6YL#[L+?\,1AN]"^ R0?1,LQ!4!:*[ M1_I($S4D]L1DLFTQO I$_L4"=M8;3^!(T,M%2MV@%C36-MMPA1@^NB)?5=7< MV_>V'OC#XT2IG;Y! \R4\25L LD0U,-H;IA[T?:LJ[04!TA2E]<=:M!9@JI99X5@#[R+"H1=Y"7I/KW6H$-KM0I[1(+2*>TK M(G) (#EUIRGL+XAT(,35C(D!TEFXG(Q**J,A31ZS&DR/BK&/5!"K+38! NF[ M8]PD ?S51$@CJ!V&"MBF#H=L^G@;+X^#I*RK]4)6ZU#5F7 K*N3GIPQ$VY<)\0=M,46[WO#-(S38XNCO=2J/!?AI&-<4)4 ) ?$RY67T/O M;YL7 W/MS'%4"L%[6G@!VLHY+,3W",H!JUK9#)&IJMU'31TG:.X,R'F+I11[ M$(.8"+92^3&K6X3V6(/):5F/3H\B4D:Y4TU0&>#',T]!PD M;X!+NYO*BY[F-K52(7ILK>:.O!Y4]XD7%HVOAG9KUQO)&F841)6X)WH3:*H7 M8($&A"Q'08;P]XR+%WF"N^A)L[;?-$R.(C/DO3GCBUGAM\$L%N2M=^LC!)0B MYAT1'^Q$)'ONR/2 J5SF58=\1>TD/;<(6F(PTD5B.PER;3!S_<5'_; &@&](1=!?"!GH=AY@< M(O>KJBOF!+T$&HC)Y?7%N^\O_J\$I&!0D8ZC=KCHP/YT$-6>]>GX]J/?O7"> M*HUD^JB,"5;3XTUC)0/[.OMZ$@.H#Y&]&O[Z1JY-(W(PJTV35Z"EEUNK%4:G MVT+"-+ZV?S'+I7R]1.]O;72O>(0/2@O$[Z2=P]FK/FHPB,^O@5-\?A'ZSV!( M??"9#*D/[@RI=X;4'2KAJ3_N?8<2\^'^MTDFQE#%,*C&PYI+D M:\SX(($(" +C7B02 V,@4Q\O$6R\:=R(F/U8<1(IC(57)]&-14JPRB7"$!", MN&! %"P5#UW T7 L.2;Q#%880?5@I'9Z!B#UR&WJ0EQJQY%VR(BO'R#4SX M7KVD\+DP_52W*FS!((1#P\1(KU2#J,#@I$$TBM+H44%G"%HUFY&\R)H1=\A" M' 60 -D8 YET.2"\$2/P1*1/'Y3.!C/\$L/\\A#&N)_2)-;/Z/ZG*(PTE56$ M!@0[B!QGHL._^X/G32FR#8LQ?5(:S%79JO<2<:+"LW568+H MUYQ,S&9?%(,)KUBHL7T"A/FEPS!([PJL_ R(I@E8X4'G?C%6KB =$QEA==6;U6GRRT8]"KL-9Y=5V^/B M'!HNADIJ!Z0-O"KG-I?.')'UF"B'W8A9O@//KMWKQ5"5 <4Z>C<,CNG!:#+& MJ!>$FP$.AJ6;P==_>+E&M%Z6;@8(9)K$[R;S//F]99Y@>?8<^%(=>' F;B: M:+HJ208%LP)Y_!(-;%$ZD9#5@<6D$%<@77K12*%:-"\V*;@"?;!N?OQ'$C!B M(^2 =E,[L;#2(DKP:BU)9"C_:!+$OF-X<]FAWTIR<2O9@6[>+,[)0#320QGT M>K5R,&7A<3%M(/WL;V$_(:=[;_7 )<;O[N%U/FM>D M&K'7HC_W]"6%N\#"'>+E=%MPZ1#=2;3U30C:%,CU@S'=+ M%TU=8@@-S99HXT%KS&66%T0D"PTV.Q6^0>-3>_HFX$K&,6%M]HD,QB%1KE\_ M,1)CDZ!Y9X7.4F;CP4ZNWQ.E-[A-3UX_#YA7DS=/QB 9&G9:W(U1.VIIQYJ- MSQ=JS.^?OUR'$:4^U-B1! ]XT\^28Q.)C"V$WZ4R\O+8!,ML MFLK0= SKP1D[QO,EB^.TD23'B7A\1C(T$QCQ\V32^F/<<[?,EO9^RUE!K 3 MV>G#^>W9'GO05A%+1''^)SX/#+#!C&%"1VZ2'1=]K$>J>RPT"6L2001:6>6IOZ.&!:B MF:I-GB:3EL>$%N2/_0>CU'4!TF ";6B!YC/>)1XHYAK\JK" M"XT6:YYMFQB(L'M:-D8>U!5,,L.R<)QZD=U^F.T(.XB\87QF0RD 4P< D\3; M4( F"FV5\@D:1:)VNW8D#4L_NXU_6):::,[XQ&639NB P@%W&UV)<5%RX JE M2_)Z4>?P.)3[+1QJR)7@?@BT^]=S/!2DD@O-$UI!V QF%PRE!9Y(\0\.R=Y $- =79VMP(4A8/<.!TN=8/+=Q MQQOSP5=8C"6; J$>,X_$W)Z* 9E710&$'4)#<&D36 M'%33719K'5"3K9U=6-;Y:M?S&?M<8'0H![[;1IVW=/PP.0?R6,?9X&U^:#G# MU.N"N2*_$GOW!LNG>2)]C04$+4)_AF!H;5(?#_>_N0#634W]G- DQM9%UN#W MG'?CL+1).YS\OS3JX\_@'OCJ,[D'OKIS#]RY!\8NU4?[W -)")HQAD.\W=ZZ M6;;),:OR/U6@^LG52\HUJSD+#DX^N:6_X/MM*0(+*!JP5ECUD%^@G=._*P28N5P8CU MUQ>7%!MG,JU2A;GCE *+,:4MIY\(_A1_ZR&Z0M[<"5A+$=#&18-(^JHO#:Q0 MJEP0/JW6^%TRY!,F3P.434)@M8GHNB>EJ*1RF77#1*0X I:T-O$=Q8_(Y(#5CSXS?N./P85O79DH M8B,[^&ZTBZFI"8LH--C;NTC\-[QR3'5\!)<=JXXC,"W-*\U%8*Z0"5W8F,;11(; J2-O,/).M1'X M*+"^CW1\FJCF#IR_DD/30,*&N=W4ZI;V<;JQHV]W'@^SGGA?:9_,G"AP XUC M99N30W90YF__PEKS9KY_#7T&GYUS0-?0DG(H2-J9?[JZ\BGTC\=4\]]_%B.. MM7%XMK>;>.GQNO0TW&#LXS6AF7&!7COH4,>0[>X!NNUYKS'- M(M["U>TV]6 !XVO,)#.&ADR1"]1D;C)KJ.UU&M461X(2Z-(6@I>%5-J<6 M86+K-2P7;"&EGK((>,+#MPEA+B]D>O19S)R/;HSB M.]E8T7?$VJ(&"5R=4R_Q)1TR_W%@L2W;OLLW'D9 EU$H\V2DD2!]'!R3]TK? M.)%=U !=H85!.R)0B$1GJ$EQ8 M*,Y$-9=!^I("J+F7B4#LR#'A;M%>27N8@ M)J](J,NI@+6>H M0S>@_J1:%XM=E MGHT']2-.QZ(/P_ESU7(Y\2F'"N'\=!L M]"8+05ZJ09A4#))HQ^*6CU#_P8>'$4ZA;GE0Q;#N,1EK!"'$VDS5&%/.@JF# MJA2.\Q"QOAP>>I@J-28QTG)A[AV6\W>Y^V4HQ-H2I4 ME,_%K+?'LK-;IXG1O;(07S0QQ9!=T:0.2+G2&!HI^K$8?4MI+YK39S?Q/(.Q M/C+K/3@<=@J(P\&89@/)^;SZX=S0$#9I.H- M-X_)MEJ*/'B2S=]A;<8O6-;)?N0.;J#<*9U/POH1[X01Q[O*O3=],K5KZ"([Z MX1V&.^U+DGI+9DM14WFX'OA6#R9IH<+XC;WIA/Q6. RIF7SF"F13V'YIR%\Z%IGX>^T$1\,8&'C;);R+9^_,?2 M?:!SO\:I9M]>UE73G'0;ZR,(BQ5N"KJW+IUL>TS)?4+.6MX"E:Z"D4+#CSBY M&?9_L-F)%]>;IUY7$:A"*Z3VX9R#JIT]-F=SQB%6H8,+S>;4+- MN"#I:^&(H1)O*58,S6<.K*8T8I%%,,"9[#B>8,F$&!53]J80&0P*$EH\F81& M>O":::=X)[&OE?IO6E_!",=APX?,6KFHT"NM455+38H(VM];#_+;^>JJB*\_DQ?BZSLOQ)T7 M8I3-+V^!3-I1:;6M>FP*>0_*&C D'T%+&J-G2 AN8U",HRQRE->*-3"TZ,+U M$,K!C=K3..@?Y0$)^T?;6#9263@>G1^ <.ZH;X%.>13 AVZ^M''NQOT/LX^4 MU+EK19& &-54+8DTT% ]\.; 98@IL21U).23M_ MGZ@XV*!,2L*1>J_H)%CWQ#%?,Z.: OED0<@SHCN.CJ10 8=RP@>_H&BG(#._ M6%'"ON9ULL+H;LJXP"&P>R72LHJS*"IUQ8 .$UF>FS2-@QR3J8KF0A-QL% E M*3K'*&O,59:.!)_;6H*:-Z#(HK(I=%U["7TT!GTZM&&P2X.43AN*/A))KFX: M1D(/X]+[MBICG;J>$_TIA=K\%MQ.>-Y[0OLUDN;4?=JX4N"LV1P/5=,Z<1JI MZ.4%2[@YRT$->\TP"9M5+T/PL/>[R6]9TGZAQ5 M.+XK&L?I-]B+D@I#TJSFPAQ LM: R-X&>]M0>&?M,G0.-4_^M%OR\.'XGDCI MIXM9JT6?>)%P1?K&_Q?*J((7X"&9TZ0,U\"R\^>E\.N6$\_WR(+Z^@=SGPO; MX*"YUNKQP:[:=UT#)[PA7XU&/8PLH@:X]*'Y>XRIK<3T XDO+:3LAS7H+RT>8$ M*@IA+ZF)39SQ0%#AOU2W48@%-,Z*E CT"3&5+!GC0*G'VR'!96Q?ML(#$=3X MFU3O]QJ6$H+W15)%;'@N&OF55OB;*G8*WKLJ)71"E=O@G8D/CL6$2V+T,<:Y MH(]65#'8+OR=Y#A,1C(>,3KC630^ M1S:/$T<">WQ9<>)#JABJF/A^8_*03?AE4/94?$3B"XNM-P 7SB,IU K>C".] M?/R0H(;(S870/#R*)FV;0<^\S[40"P%[&/3<*@;GUWJ3]R M?%_AR;KJEJLH942C%F=8X^-0P;FL?(UFS$%8=1M,-.G%=B/GG#W 7"'PU-E# M^./H_'@$:#(F:QZ/V,"OV1/\>6Q+C@>DW=R2;Z_L$?X0;C[*ZY, HW3>\+;CRT6=>:8 M(PKXE*.]X[2-&99>SIJ6DO]]X/SGTNFUPTEWAI'%:76^L+D-@U=KF&[1KY5Q M(%Z1)5(9 MU!9>5K7)#Q3)F%R!3&+C0<\5465[S-F /A_NQ>"<^"F+H0SU.' M>N2]C?!9YS2(B?U@R%V6J][-PO<(=.BLO[O78$II]4"D4E:U&.3VZJ8PNM8MYW0JADQ;:SYM];< MF&'QO)]RM _4 V8F#1'LT:><$\/B2I(Y=,K.3KP 0819"(A_M (]+=U$)5B(^9*>^@@[-#R0UT)& M +F(0$/=FN[1KKYDR[@1D$3P^;WZVMD/W7GXJ[G(^W&PBM@PJ@7=81I#'!H3 M>*Q/JB,!P@' A@8$L,-Q6Z6JUYIT%LXT'-D\ MI'^DG9PKMA:(B7B7O*!X!_Z=)/=AQT%A*V$AK+LJ=,OU#B,U;HR 1 M?)T3A^ "^+3GP:MY M:P<#;:]<<>E.8/W;E9:W)&^J<#!86M2KD-]I31)^:,1E;K8N M<%UBE!*UPI8VFW/;7^+,0+EI+ I\IV/<3L?XYC/I&-_8D:]#CC%W.YC1Z+-L$WG\B%A,"!Z3*'>?96\W,@%:\\ ^GZB]0^=0XS1@ M;K&G?QZD%(;6"#($%E;U9X)9_[$V^-W/X_ '6#$T,%TZ-4&QP3#.O?_P_'SO MZA_LLAK]9+B\J>05'48Q#V(,2@Y#;ZJDJ-!8WEA+>-Y8OP8+:Q[51K&]ZNP2 M/X-F#93N#G=W;H*$\/DG0C8]^]YSR=^FB:;BDF84*SQ 4C!R-6LTDXM/_T4U MY(P5X7WV*7G>"2+R/ZJIC^<^OW_V-;> J=;F/BS-EZ?0L,UA2E5T4KBR8:6" MDW,,#_39H_.C]?'>,YT&)*ZO)Y_%F3I"O(^(C9J 5E:'4Z*TK!L@2)N2PXHB MT,_@0-#HA:]0P%WY\$,_D3MB-D0Y0L\ACZW//$BVMEZ: I;G\SCT5HG*9V#! MHBW;- #B:ZYRXLH/EBE>8G* ?)/7PTE7 ;#>PJ A%QXY2\0&9A,$B#%6+8X:W(.0- M!.R:#QW\Q8" "73%2Y_CEP29GGB\-/R5U82-502)]ZC.,0K6;Z2@#\C]A=5U M>-\U_5#*$9R8! +M";D"'];X:+!\LNH.6[ENJ,8>+VW-22AEA6%G.J*.C>1M M; 0O%*I,L.5/3$>T/!/B4W!,&A\J@(<&T_,U@K(G0P0Z-V>\2FU7E]@IY?PF M(R[2I0"-Q(U&Z31Y$2U"0H:&!89PA*S5U$P[!2Q_T:3T;YTMG3Q"!N[:P>^K"]YY;'K^::O(DL[?;W!5S*=X:-U-W M4?9@9K*<2BLD79<"IQ+[CXI3;YCP&'&D8]J"@D9EL]8XI=!X.\9[Z\,(H@%3 M@VN\@DSE 4O;PG@;_RT]<5D5W=KYW34TW$CN,KK'Z*!2;8.ZXTPM7$ W]QFI MV$E1NF*B#'1?UG?U'AWO[Q'W#R7U(J0YJEM8RP_01IL@X;%+ D6MK$S"SPVCFRN73F;LIEWX@I'XOZ'YZ>1,.S,5U1_=%0+T* HC=: M>L[,/T6OI$CO-Y8IL'3WN+RBS].:8611.Q[*MM?T76)-/J[,*IG$)4V[EI1 M[$["0'>.1!>VYLO#XO1M@;$"V/ZIC\BQZ0KC\Y9%DM.R GYW="%A/O$8T0;/ MX")&H<$(,M8^NK*#'2XPE+ \J=')6LN= >)2G9&I&.,U22X8)($X.I/NHO,0 M0_O9K:L)3/C*3I.CK(2+>ZFU!/QWF#K%P.9H5T&6A3,*K>3-"H%X1P]D\:*C:QCWMW8^[]5 ZY'UET%<6QH\?@K!\]%5X6H1&9VYY?.*1 M/-&5TVX.YPYUF!$A"Y[\VA!TX$8H.VTZN&0E<3[SI"@+N+\$#761#]#GG1DB M2"6W_&-#FWYC2)RN.U:QJ9B)Q]_N.G(A#6G84.BQ;CVHS9_>-^QIH7 +/J?& MGR9".0'@;25/Z\KYP>.K@8(=$:DAY3T#Q1Z3 X[5$=9J93U MZL<]J["4&JF2,L;0Z41&@F'AK08!4^:-,F/$/R7*Z9I&\!KP7U9L046X9?.[M^YE^[<2_ML5V\ECQ]EB(!+?Y\=UJ.\C$$6..+"$??OYV?+ M%];B%9(/H*$!Y2]60_,#-H*_NWC;C*RW9*3FD!PUNHH)(L[*:DIB:$2?IB;K MXZ?\/807DV9=ET:T"&3#PK M@?N3:8OO+38]-#D5737!!_CW8<<+[CJ3>Q!>*:JALJ1_/;U_%NQ[A[V*XH3A MO#%CYGGO1A&=A4L#2V2+5M_3^-:45WB>C-@.^E6$0XE%+@RD]:M(+%;;SLX: M!!090>BQP;EDS]-8PNVQDG2V5)%XXW?$V,$#W+<4FTH39%5ITK\L4GD,4PQ% MI1;'?&^-#E02V43N JW3=] 4JLL]0IR55/V*+P53F*!B&U?M!I!LNC),YF[C M1M*Z78$N9(OP.<$EL!)!"5W*DY ?3P9TX!MF"']?"@L3%M_;'31V]9OB!%T( MM@\H5FL[@;WV8)J[T/JP(]XC.+H5H-Y7:[3YSLC#(JG;3$1":LVW*$$UE7>^ ML2FXD5)?:D2JNX:,05T92B30/6%B%&1P&2AZ!Z-JQ$&.R M6^G78GXJ++EM)1,8HMFQ?&A7OO1\Q\>A>3>Y*+:[WWF""HO8(+AQ1G+.*!AM0'" MA'.BE :]/ %W.*;U:E"1>&-]$%_HFN.*?+&3D+L5!9]>(:NVG\4<2)I"#(7) MA 1&0KT*Z[(A5.P6#A:HWE!8?Y8FIIA$(=2 BXTJN\LSEY5)DFJT[5X)7M6S M;<5"GR$U7XQ_[VUIVCZB DW9"WL0/TN*54-:O821G/>@E<6)",?D7B"IY+KU!8;ZF^3FDO8^N0W6M*!Q;Z__L8ME+:LS8#] +LBA/OE:.TUQEVWZR,JI. M0].Y-$7$>A,W:8;[%9A-"EDSC[&"=RD;/?!XN,:?2J936O 87.M7V6)K%1&* M*#LW$RP,LR!:A' F2[5AK3$ 5)-5VNV(0PW\@ABB$N *KG-@HQ@ RMM'S-AR M4SYM[%_9&LY+$SY-_DMO=4G3XAF3"=K.*$4<,K28,PK3-TMLR@5*&4'R4?L" MD4V$'M]=!=!7[O32X"!A-JP2KL R)J8>6^CS^5 R*;)V2BX]RR3IR"''-JES ME/T,(2E1IQ* /D>0"2*9>/E"W0R:F%E?SJWCDXX/\D;%]6&&N+M +_:(TEW2 M(WF]6D;V6_?8=G5PTM8WMY.V7OC4B=]3F6"1N&A[8;E5I%+)G;)7",:?'_G/#^FS?_N,.L0V<6;VF?/^>"D#!,KSY,*-,53> M-!RG]BJ3_^A*EWS#?9CV^/C4#M&ME2 MEDN8SVUV]S/9^GZ\>/?^)-BF1JUW_U.KW/GGLLJ=[S5*P1_3:KY]]O3+5;LN MGOTW4$L#!!0 ( $.$<%:G'D$20^\=AN(8T_L3,\\#6B)5<6. M2JS6XJ5__3V'6DI2D1(EL1R52T" N"229_MT>$@>DA___CCWK'L:A(S[GW;V M7^WM6-1WN,O\Z:>=;S?VTP='-I[A_;^ M6]O^Y>-CZ'X(G1F=$PLX\,,/\.#3SBR*%A]V=Q\>'EX]'+[BP73W8&]O?_=? MEY]O1-F=M+##8S\*GO(*CW>!]RJDSJLIO]]-7T+5@X.\0AP$()>J1OJV5,6E M3%X:7I0+1H$=/2UH6.)?5$$)X/4NOL8Z>_;>OGVPG]6DC\Y,3@/?E(AXS/\N M;Q\T=+B+K^](2+/B/F%.*&]:O"JU'3)'7A1>E L&45YP0L([01\>5@M5U%$L MFKPJ5X@6@8(^O"D5C2>+J*0%?/#*X7-1:O_@,%=M'-I30A:K/*0ORLV&*HZS M-Z7BR*,;E5E.+?%F-WE9+,IJ[,9\_+*V=7@ M0HES&0NAND+RIXU_=J-==D%:U(M5LA_M.)!\D;645\KO4B\*Q4?:7?*E<]22 M.BN.?_2@NG146E2SXOA'1QU7'(.>HHN^)U%VUDP'V5<\CN9WEE7 #^Q-1W4O M_;*>OK/RXJ\>=BYTBUJ$\_+BKSX?=#E"T/NBBW7R7^V8:(XD5*PTU12_PT[. MI0/R5UU,!]@K^O >WQX^Z6$0^(+>[P;D%0JH5?XGOLZO;? M5OD@OL\CT91XECU=+)@_X>DC>(AQP8S25^MG%<8C75ARHXL2>L,I A7+II*U04(7Y;, R+0+:5B:H$D(4W,E2 MV, M%+ 8C$LA)(U$0&V[W(G%'S >MN%_%CW9^"T&U(?4"7OZ MK>:\9=PMK94,''2&AK_L[>W!F/PTI57\\\AWK3-!UKI8DOVX6Z&UPD8<4O?* M_T7\7?DJTLIIB;J*9>3IUZM:5UXS?9J94\_*#O=#[C%7>.<[XHD!23BC- H[ M6KBN15/6W0>3WF04X>^3 DWK.*%IW0B:HVDEAK 7!$*T:$8C!A*OP=)5 J8, M?Z!O>.NGZQ(/_S*T/@YL"&_]KG0D^1E!([.60<&9/ M//Y@I!M0MFT* F_T(7 "U*USI+Z]AH=!-;7W[3">STGP)+Y/-O79!+I$#,(= M,?_*_*F] "4Z,$+I"(+V=$P!XBV&]RQT/![& 84?7X 52T2("3/"&RR9L8YR M9JSKE)DMQ\%0@;P%Y M*):3WW*K']H!O:=^3.%_AT\3%OL86]Z@*1O_++4Q!H9?$ZKP?TYURTW[&ASQ M8I&LC!)OV0T7IUKL/J;6(V#*].^EIA?!8(&+97\_3NWDAGJ#WR)E]^3.HXG_ M)1YH2 S504>V$U"7139H-NS7][K^F?(C/^@KY "1D?%A'@H\M MQ\//=KKD]&0O/)*MMD DO, R?6#0T+(IZQ]*K8\AX'5*_F_6-=(7(#C+Z&^Y MV=_;+KWK9=ZT!5-F?"TUHPCG@,R66VM_#^=%@IC"!_2XH'[/ $S6G"D[OI'/ ML>R) ;:@:9VE-+?=J/OITH<=D<=>YBPU9,J0BLFR?1%-(37KECQNNPD/;)]& MF?:AL['#&>DW#:9JTI19Y?-?(H;Z0J/,M-<0*=T@W6TW\&&B?M2>:X-JT'/U M26II:M64F>538")8$G:U!6WKI$![VTW]VO8HZ=NSYHV8,J1\0DN$2Y\%I6TW MVYMT@.EQ?QK18&Y[C-PQCT5]5ZAJ&S9DW@/YK)2(HI+QZF>@;B-YZ_.2_+;; M_"TZS3F+DM5C'%Z&=T9:.FK"V?HQ+1V%E*V3I.*(O9BJTW\\_VA+# OB=> M3#%' -@D@'^2;(8+1(IN/YOK43 % /DTE8C3SH$-ZY_(!N8?G&=L0"R>L['M M:'AOAW0J?@<4-Z%@>D@OXTL;-&5K^5R6".5N$JK6UXSJEEOV8,_^,R8!!#C> M4^D+7*X-QSZ)728V$O7(+FE#QQ0.Y'-A(N;[1\9,Z7O/F;%^^I9QL\7)R+AO MS(T]:C,FW'1B)PS)DFW;3_C5I@EC7?N"=C1,(6-E'? M/W)&LH2T+>X/&G(%^R8G:C=O"@DK\W$-^8?63]E?6^P86J>0VI%([WBNC-6, MG"F0*&;S6B6N6C_="J:V'3;U>:8&@*)'P!0TY/.#3?FL(QAJ\E -8*"V74.F M/Y3/'2K27$>+MTA'[0^ -F1,X4$^HZB7^SK"HT-NJ@&<=*)G"C#R218Z?+ =W MM+4DA]:$E67MF;*O8CJPG)H[6K8VH=:$C>M;-F5M10:@*F-WM'M3DJT)TS;Y?/]!T(F4*,'VS#4>H=$@!VI(\1J/394L^J=$V!2#&I MV#('[33ASKI-N!L1U<*RF+PU%T>G OU)[,$ Y9Z*PU-K5X920#P; 'NR:0JO M1G(F;>LLD\;Z)J2!\1A(@W4K"V%_JZZ$I5#?=H@WI$,:=),M*9D"6M<,S-$5 MUEHOR740SX(T-:HX(0/O8;SKFO!N/2D;PM$;^4SO"H[L+/'B*&50(*LX2W24 M,#AZ()E]L1.RQ8!(,5@S#2AM@J9P))]1KN H2>2P\"Y,HAXAC@"JR>8VV'/I M$3 %$/GDLS)O?.RG-&R5/7-92*;3(+W#[N[)CF;4GI,_>'H=,H;!F.27="LA M#>Z9 T]#[AGQ/.MGSA0(Y9/<*A NGYX69< ;MD$&ZQ)EL-!B(C+'O,6D6[Q) M9;!N0(;1G]6B!(\Y"8@3Y0%0)>Y9&SQU"9N"GGQZ70V]DY2_+/"JQELCK%KL M>GQ&P'3;?%,L:@&5_XJ; M)\\&;KL-J%QZA%@7*Q=F67MFK)UPT$<=F$? M8,GXH]&%.8JK=G,"T1J+C,Q'ZC1O"@+RR>T"!(J+>YLMVZ.)H!B(L_1=T!GQM+9.M$S!2#%N25USN(TLAA:PF;HPDS/M3:F3,%.<62*$G:V]7O*NW64\&Y]$;R+%%K!.V[X=:V( MB[/5@'?1T-GUS>B]F@_!,^G ]*F8 I-\!K;AS+W1C^F:K?(C-'-$01=ZI@ C MG\:M!XQ=_GD"?(V>I=F8=QYQOH?.C&/.,E^(9XN .9B"->T-5N[>.Q)Q$&AJ<6)$[%[0XL-)LB; MPIIBQKD!:\4#59#-#&Y'*9LCTII-#90C^#HQF$Y,'8, SX4S3>*F4*:8T6Y MV=>)4@DIA^'^%+;Y,>Y9*%!8JP% M>4I.5S<*!%UBIM"AF),HXRD+-Q*X7*<\C9#1NJ&AYI4)!/6E;0I0BKGI MIILC&NZ5&!&66/F=3><+CS]1B/:I#UQ&8A. V7!6FX@IS"BFIW%B\2SEQ#I. M.!%["<9PM^.-(R91THVB*<@H)IVU[R 9\=/%FLNGZ:AF#I% C$EB)"HUX-L$ M4WWB(,!U!S :,]/+/2.;II"JF++61:I=>)X.UBY3:2P2E9KP+8*)3(DTUC%* M,_:<==?BF'2'.NV;@I1B?EIQ_\[HZIHMA6D_(<$ET[LG>TZ"[]3, +\M+4,( M>:^8398C)$E!ND&6\,#22\'2Z#FZW*24+(BROZ@KK>22B!@YP'M=/)G"G^*, M[[970&5+M\B\M.(I,#\BM>WU3?T0V(V6*62MS'"WOBMJ"]#RW_DVEJ>79A?ACA.0^2,POQR$+L,*XFQW'( M?!H"F'PRIY]V.M=FGH>E/^U Z$MWK#"^$S>1(+._!CQ>?-I!4+ /X!GF.Q:> M!YX]F7/H4DGP= %O4 D[5O+\CGA(]M..2^]8E#U=T(!Q]U;4=^- :&-GMUX? MN&_Q) XC/J?!5WH'7T)X F$V%"N(75MHC=(EQV#*Q,,Q$0'R$ND(T,T(HCJ[8^49[7*Z)8^%R= OW'UCXG__-Z.>>^&[]!&W'94E:U5C$$C-O/<)\ TA&98_ M BB*4K? ?RY9<[GNN,PX78XI*0)B>Q#=^]/LC+,:]:V!U(\( M,FJ\WUH4G08=Q1=)<%)XL@ZM:](=6@_T3#8H],W/I?XJR2W5?+*W#I3P/%HO MDML*C8MLD*]YPEM28QVZ5A':(*?^.P^^0X]T0A8L(MZ1^P>,%^>%4+Y=E:$- MF97!,(@#%$56_%4:P7RZ'OPUE!AGDGW ?D1E4):D\'2KO$75FZ7 >O!9\ M'D4Y>=:YO7AUG)<_/&]):C=V(N#;*^F.+) MYN*#[#E4O>&F]'S9^"_%7T4(Q=3#2T 4HJ# ;% /!J\BT= $H445MX ML$/R4Q8N>$@\P44^=XE+W> ]&7RB[M4B[6%+W>UO8GW@+'0"_I KPTQ; P.& MVM%Q1V1+ KK/0#X,3O)\DEPE]66ZBXJ;OOUI;Y=W-IE0W"I.\_DC7.\IGTOW ME49QX-_R_+S,Y6Q "-&$4_ +YIKKUR$LDG:>13WP,'-N&'O>Y#NXBQX0-[EU MT%6'MG^HXI3?RID'L@;<9TXE6).]&&18DVT)@2_Y"[B9]%O?T$IS^+*SJ M8QT$!M9AF%?JORD);FC1-'NP%2H=F;^E/F48@B!26)N72Y4+,,O44:$@EGF41Z18K5W2076^629&GLY0E4[\>!#JS*WV9+B;B" M1;PSL3WMPK_@#Z0B8M?:@W"\Z4CH*K@F093^$#ER(4LG[_'+@BJE:?SHFHBX5AZ8%I0M1 M"%?QYXVE!ND>"Y/:IRR 0$/Q.0VC/ PN_:>XHE)*X*VJ#)0J2-ZR_.-X#?9 M[N1T<^]M=J)')K!FZ1^U#%@K9RAC/2S*IBRQ0?(3 M2_('#U8RZ)1ON_/-8-P_I8%QPUSY-&.P["QD+P81&S6/J"J]?)L*0^O:6DB] MVK>WK+-YLJMVG[2I,+ 5HZ70>"ZF=(Y(O,E%;2PV6+->)R==B%/,KB:**"R3 M4[?P@*5-)FLQQA+92##^$DMY, IEMY%A)NE4%T3+/;+R[2"ZY>P\GJN)UK(^ MG@[CB+^N)LL,^20W'I?TP^,GL>"/',B_AN-U$>0/A97!+06;T$J%0AG6=M[E!.MM#2?"TM>R&TG#U@38PVS6VV5K2!5!= MU0W2P+[-Q"Y'8/X1;)ALFA8_BA=5RBXG:U)0CY8W57^%/Q?9)MJ."FMHZ@5H M*,!;#8/2KMK^NJIO=%.UINN3Y)4V2.H#<1M**@302:[=UI:_J?KF:^*!XF(/ MWER53%O9OD@I$5&,F.7!WE,?0$C9#%RW\]AHI;Y#^U1?"WWG$^1XZ M,XY7]G"Q91Q<-$2*$#+.N4L]?56;(?(BM%KY$;88-G5K]$5H+;T46/4ZC4Q- MJ+(UI1>A7W!KP(PCKDW"J50[]AF.$2-VSV"$;4"OVA1>A#Z+@VXA;>K:3&JT M!8T7H5/=X$BCA0W21_OKV)OTTZ'%3=17(DR['K:^\B9J(<@3/DNS$4*\3K,= M/5K>1/WI.IW5"ALD[1N;8ZZL[7%_BO?OE.Q7\TH;-/T)O!1MZN))KY$-TLIS M7K3=I-QGY>7%V4@7PBU;VR ]M;Y)N4E5[1O<<&WI8JBV[N;HX &9?EV'T!6*#$BQ_#M-KMBVG7036-]L MAKZM;[H>LV<"P]$LK1]'(78R5YQV^.AF"LNE-5%HPD*+U6?A:6_ MN2]V=&'BIUM!T!1T;W1RMO06G!IUPQ -6ADCV6'_9NU53FZHA M3=PH*FV.U.]$G(H'I O4)PL;#/I#?\I @FQ0XOJY?L.B/DS&W%F$A^2/I;_*;_C(G')DF( MV6)\WK7!%ZBM9MQT;&\S=-6P?SO[HU8_^FT\FTX^[J)*T')S C__'U!+ P04 M " !#A'!6O"S"'@(8 ""D0$ %0 '5F<'0M,C R,C$R,S%?8V%L+GAM M;.U=6W/;.+)^/U7['WQ\GAG'SLXE4Y/=4FPGY2HG=MG*9/=IBR8AFSL4H05( MV9Y??P"2DBB+ !H@";:\4S4UL20 [*\!]@W=P*]_?YJG!TO">$*S#X?';]X> M'I LHG&2W7\X_'8;3&Y/+RX.#W@>9G&8THQ\.,SHX=__]I?_^?5_@^ SR0@+ M! =O?_[E^.WUEX-OT].#D[ M>'PHN'YP4+&.T933D^.3=\9%L=20HSLF< M9'F0T9P$/P7WE,:/29H&8FX#FC\0)G )6/?)74J"D'.2\V!6Y 43G^:4Y7BOQY(58L3^:+E!P>-?@7 MA6E4I.5 E^)SW5SR"1\K*Q#D*2?B_:I7P0I'2J,MADO:^>IMF(7\KEQ:!0_N MPW!1HC@B:3^)GQK-.S('VE_N#=C84']E>3V\!J= M=#@:FG?"H@/*A,WXX5#8G8\DN7_(:R.T&B=DT8Y*WK:7ZA9'O)C/*XTJR)NO M^L\8G5O33H>1VH)2$">.7P$G6I4.#NI6-Z]86H32^5.4%C(\^;E>F H\-ET[F:O! M8-+9"@)01D,6*B9+=0 >M"QGK\KH) BC_Q0)3^3H?"4BR^\8X:6<39/P+DE% M U+^7LR%5'53/OT\S(^RZ9-6F'+999_\YE\?"YYDA/-3.K]+LA+=5YH)^AI\E?XAW(Q9/3V;B\1L) M4;([GF3QY8;9DXK751-!I%X$>WXL,B9=DI"3&RD7Z:S@=8^A6:1]Z# ,^D[9 M[V(V3L-%DH?I)/YWP7.YF(%03=V]&AHM])T*&93$RI;JQ\GVPL>5I>\RYI6A/V;,7OKUXUMYRK91$TI1OOE > M.*A][MYR\YK1!6'Y\W4:"DQ9?"[:+MJ,R3&>[96KIR%_6)'[B='Y9.,2*W@! MZ.$5@2$PU\5[ZTS;=?@L9Y9/:R*O*.) M[[#C/5PTN2LOP&(&BGK0I>\[!*5?- .;ZRA>N5?"<86%BB)YY96PV.31H\B2 M>26\!AJW*-)R7@G+E;$!%)D_8S!YA,T.**]_?&V\'B?D &7W3Z^4W>U.+0I% MYM\5,F[TH- V7?G2V^Z^@UI Z"5VVN7UFG_S/HC)71[(HLVX2(DLP1-L*9B8 M(,C[OA=P!]"1N2Q&7%06N 9KYA0'[N@ M^IE4I4J.IE_OS_5C( Y$=J>LZW,!F3X38,_#Z6ISGH>UIR,:,9IFL2R1C*X M"U-YS)NPADACS\-L&P(&&=S0 ]/0R6J[6I21X>Q^DL6?DDP^I-R>X^NH=[W= MWZ9ZK3OW8%*8G[G9ZG*C>;?_D&1#*LVL.WNU72911 OA4UZ'SW)G3K%>0(U' MH7N3E_65Y##J=5U\8V"%S%D0DH1,PR?"C0#T[<>@OK'A"*)>W=XW]:MB_'*+ M72I"1AZ$+DR6I.+P)>6RY/UJ)EBMQN0RBE^D<5PFBH;I=9B(Q5-O!ZH0Z5O[ MI5Q7US&FS"P?;5CM;6W\%S-DL?Q')IXMPU3&#B?Y:KK M%Q6=SVEVF]/H=RT 13//M&8Y"Z/\>Y(_G!8\%]* F2PSAZY>,9V1*@&AZ3AL M"$M#SI-90F*U&==UG-'1RFQ.K62"=1H%Q]ITV#EG3(%!W6%<^AM6A 6(]EY_ M%FC5#T=PXM, F.J2 O4R:6OB-P-@LRQ5&_N[+<:B4)@%I5I]H&E,&)?F0:ZJ M7H9V&PN+7@,A+Q@S\975=T0Y]YR>[CF906V740$ MT_:N$1\\.(YIA]4(2VW;8TH(-,( :!$4E?_ML5GJHE'PO3UM>+K5GOE[1=K? M#5N?'=\[TX;+)OZ&J1JN!5&'_6,4!<_@N3+%&5&4%!O1 )Q"%,6Z1B":W2M, M>D83H6DQ;719"YBT#1@59#L=DRJ" ;/?^L*DE@P8.R1>85)55DO4E*^"25/! M@!D#K4B%I E+5Z7E63J"# K=GA]2X0@U:BWVRY&*2 ?9V!6A9_&H-!,! 7BD M@K%5BO1DAO@0B)I8ZG;(1;_9@$DHPB"!<]!*@YW9 \,D&DW!)-T!.=LM$M_O#+2!9AIVVV4NJCUUUR>+12%_"&8 MI?31M4+*-)S?6BD8-9Z.3&H_D$N:IX+ K:.Y)HR%XMN2\-,'^>=%-IG+L-/5 M3-%E;=':W7$SV-.])Z>_V$N](3QG22060;W7NOU%H^4U80F5'IX4J^2,5/^N MSPH\?XI*'MR(E70^FY%(F60]"A'C)LZ6PD_\>RJ^3(PIS*9NGK$(HR=*RN4K M_DY)N?0SR/6Q-EW]'AU0+HVK67.Y7&6=%N9Z"9XE?$%YF'YFM%B('N)S5 J# M0IB1BUH.J%8 'L*\SD'!:EMO?HR*JL-IL%V=)G9!1E*&L3\->5U-EU1H7+ M17@81Q@989V.N/(2ZK1$8+'43:S\ !GP7Y2E!'?!I!L" ;R,T'/%I!O"-;Q/[5T/8;3/&K7^? M*#-%HN O5B]CCG+WX0TI=W&F5!@6TG:2L65!G4#2?F:7G@'.PV&Y][' M;F? :S/$N!AM+U6U'\!W\5A$2,SEY8,7G!U'H[XET %9;O8CC(J0;Z)2D]E,B'8A]@21HEE<2,FN.'^MG]'&0RZW M'Z\693CT_(FP*.%J$0GMY[E@0],[8?CWJSK#,U]UM::F-/N%L+QD2% MX7(O',QSZA0A<$<.26+[,^> V*9#UMC^X#<'#S&E MWG9#;[_UC:G6KN^9U^Z=.=3F85WS+ANA4/@_[^>\:[?CH-C?[]_4M^_F@VT: M'SFG?<^VQ>XDF \^4E2[\0%BQ(/AXC?>G+?-P#SP40#0C0>CI(B"^>>CHJ"K M<623YP@&[J7T8"C3J*M',*;OK]MZ;-9V.6\G8"IHZ,B#/F*B>Q *<&0'.""^ M#X$"U]>B9Q:,:$KJ]H%5J\ <1-^'P" 0.3#P[O#"8T7KV:">6HW,? MQNI*UY]"K%R"J\ L< MH?M:]*H4?@R234)<4+* /W5?H4P80A;:@H,P3W_O)M-1>--^/A%+!>6A*D=TXT=Q\'SG;+?9?:G\/ZY M'2!S3YPZJ'4MM=T5 IPQ3,X\&!MT\C#YPF!P4/GF58_^'"SJ;;1@(??12@>" MK';2]#^Z*=@>G^A'\_9.L#\7:W/2J#G-UK9(J^_A<5PW5]KS"L2P3CAP#'=M MWG@J$D0YY#JGEOE"Y:W9 AWF5?2JAX[?!F&5!1V0JLB'[W[AIG!:KW.,;H4H7>P!ULY)Z",'G4O,QER,N#P"?WC)3,JC0-"EU&\%OQ-!T-.7^MLP#1F4=$5CKW3#K!-.8\%,]NY=0-J%BLFAM@+7UTK%Y'3#&-!5(V#:+(8CMM#6#EER.-:T MC63R:\<>!TE9KA'DX5/S3_&&$;G[*I9CF;XNF>%HSW9XA">[MC.%G>S;*M]A M??G(-'R261 W6X^](7G!LBDM4Q^X7.WQO\4+,Z]3*R*%?=GST#W8S!"*Q)J$G^ MB4BEG]Z*%[>0P>FMQE; G49&QY%5U>&JYFY]V:^\$*="MMH9[\ =AZ>@X]0G MRH0ID&VU.$M$1ZEYD\V%70[L@0Z-CB>?DS1/%,*SXS#HL J#6BAF675WEY+Z M0)XO)$QE;>IYEA,F[SO3[!L,\@QT7*H,U(WB[\ ,U5#H,+=7))T_R@X^;N55#>NE("EME'AW88QA2'0\,%[UXS8(SHB4@]VX4X[015)@"F Y M\F(P%PQ3;&OX=>)LAF(*B W/)BM?!E,H;7C6V%GJ#K6I>\P;M17O4(VZQWR M62.8:E4'UDK=PF-01ODX &_XQ>/H 4*9]/Y5,*F#(P0V!E^'96P^-,O'WM!) MD)%\M1\B, 5<3F!0\9?$0;@4..])D!7S._$KG54->%"(*0YR&LB=S$*,)($J*'I\+3+Y >&MP*:B)7@PK2^8;ZD=9+G++DKOVX>G*=P MH?L;V&OXX'L]BY-J$K^6&JR,6:R&2]LP*\XR@8D.X0)Z8G MB>QPZL? &29QG3+:"S2,0AR;G6G7M(CS _4R:(=:%Y MM_^09-^LI[[]3B&GSE[579,B8*XMI,OX&-0+R:[7:$C*Y7$U^U8O#P *10^_ MF(4_,DJV3P'LVS'K>513.2[QC>WS-R+Q//9T5> M,%+[2:LS=3O[C);C^_85G'[I%VP;;I[179I;SBABA,*;-6L.V.$AM$2W0:"R5JH-;H.AQ* M[#U-]E[,LT&KN Z#%JM.RSB/@Q>M4NLXCH(LU&?K?9C\9!-P%%&"H4'OKFQ, MJ?A#P=Z57I@RZP=#O:.?,"7-#X%:8X)ARHD? KK>"$,1^75U'&A/F@V3@/?& M!-P"WQ<;<"L ;UQ K1!\<&%/%(0/5D 5AH_-HQ\"*DMI@Y1F]V*"YEM9=9J? M'/>2>GJZ#=<%^N*8Q MK:F7,?T?L=DZ,ZI\)V,'G!$0 -W=CI]$G3=AQX0>) PF^]@"M96@\J7>(['> M:)K$\JCT8/TUK^Y1DG5D<-4-'FIPM6Q)B:?DCI;W?A+]ITAX4IW041Y7+ZN= M5=L]]@,@57K-*7_PZ^\4E+RT1],P2)?&[+3S?WB9?/,D^>;Q%6_G^ M1S*CC#3. CE_REDH[!@H5)TB[OY!'/1"NOH!O\">.P$%! M9WWB17V"@Q:]LK5GRBNVU:0H*6YMY952H1@VRT9!9VN;<>IGC+1J6OIW?UL4 M<7U45%4 $#U/A37"PZBT3+*X_%1[,NLCVE:J^UI>622/X6H6*U^')H_:-PTH MN"RGO7^^68[JGQ-"=M/M]:\70+!.7G'9G0$LU/-QR!@8#I-.YSJ%/GMTTE$%26%\@OF/J.*@;L @[B2F M1 H3)7CZ;"=/_I+ZZ)@'/;J1\?I&E[%E+KEP_]O*_-5N5JH%*]GYFA]>TRR MV_>BL7 Y,+U;[3$0ZI>/^-XJ(%L,43E,$]V7\_]RS8\3A\'$6_:8"J:PP7JVLE^K[!43GPR/0 MV.$"=1X%EQL@C$C:+P&Q@F4S!/9\AS/Q!\^5QWCW,")V#OR9\=&5@[7BK* M#\TK6;K7AG=]SAB18VN-0:5XSIU[J'Z>^?ZY>VS$=K(!'89 M@CCQQ^J[^BT\;5PZ*73,ZFY3S0U O0W:+\#&1!MNJK#N.&[XL$$?-';8TF44 M#.LELDVA 8:AU[A(9)+K8Y+*G#+A?(;9O;S;MOT:IPY#C(R1J2M5](W'I?LB M6PKQ0MF.U 5W&)?^K\I;=71-QZ6Y]8P34.-QZ08KK?;[F65.)11UCX_"QK,; MP@E;$IGU/XDB5H0I6&Y8#38N[M_"M*CF*DWIHSPQ$0I2W7,L1 W30*.'5C^9 M<;J-AP#]5AJ_O)#>4%7N. K.[0R#%F\)4.AD.*:X1 =D#A()8Z#- ;G"#L)4 MQ0) -X!SZE#[@G%^>[= '&IET*T,7=0%BN]''/@Z>YI0O#_AQJL+&&#:(-"Z M<]H)W76V4156. ,S&] M%-VNIC(@C4-Z]098'9_SN[&YOCFTNB@T$@9PH[, M/4:[A_"%6)K,99':'^7< = >GN^\RJ43HXR2+OS^S@'@YG(5#?T>]C/@YC. M*6%S$[WJAE[I_2UDB:RJ-)&K;(&UL[;UK<^.VTB[Z_53M M_Y"3\YDKF9E<5[UK[Y)OLUS;,_9K>Y*]]I<43$(2,A2A *1LY=3N]/+RVV]XCK($I33#__HVH]_^K__Y/_Z?__I_H^@CSC!#.4Z^>5A_ M?__^0_3]A^C=3U'T M/_\K)=G7?\K_/2".OQ%$9+S\^*]OYWF^_.=WWST^/O[CZ8&E_Z!L]MW[[[__ M\-VV];>;YO+7)-]U.&S\XW?5C[NFKX9^_%"V???KK[]^5_ZZ:\I)74,QZ+OO M_L^GJ[MXCA?GE%8U17DYC(PO?*%O(3]&V622_BMZ]CSZ\ M^\<33[X5L_[--]74(18SFN);//UF\^>7V\O7IV B4%/\IG_W\'/?/U4H@!)XMEBK_]KCU1"5T@DD4+O'C S)*\VC$Z M)Y0L<"972E0]SI96Q3!=DSL7X[&X>,#1[HF6%&M&ZG&.\105:=Y^DI^/HR1X M2^U+4N6SBNDR_T=,%^)9[]^_>__AW7$1"N4%J4F MB(32C/XJ4$JF:Z%0(Q3'M,AR_IPE.7:T';>DO>6P2@[%3)",R"&NQ,=-:\F( M UXKHO!3CL4FL5%E6[I2&K]ZR7PK)!S'_YC1U7<))B5%\H]RNJK7C,D?YUE. M\O79L[64H@><_NM;U<\5-:G4V)1MYL@]-?6BV0M55WB&TNK9DR?":PA3M+"F M:8KX0[D\.CM>>XX-$,H>4!UYMO]IQOOOBCAH[) \\9BO,7W!GT<,K! MW58O")V"+\6?+X6KN>$P]-ZCAQ0WT?JLD8[.O6Z=L/@;R@02_M>W DU7^](_ MY2O#R;^^S5FQ&VZSY5D"I"FC"]#D4@O9$4]VR9\"$%4LZI03;5+Q;AG1X"3% MZWHN7Q2@BH$O\U3S?JZS>3?V&UY:CS9< P0,$#Q \0/ P0,$[P*"M]F%7"+N=S]%HLV"Y/(K7CJ%I50( P$+ M:K&!Z]MH."?(VHR8@*8#FM9@H-.]) D[^O10CIH]W>T&"59#0-B"I>)HYQ(:,Y09?PRD)X#J MZZ,&G==R(5SMQ1]N$QCT## ZP.@ HP.,#C ZP.@N8;3Q%N04.W\O-)B\W MDK^&PWU(EX"( R(.B#@@XH"( R+N$A'#]QZ7L/?'B.$8DY6<[RHK6+Q"^BC+ M T53RJ*8X83DD:#7W-5L-;83V-R"L@"K ZP^:EA]15'&/XM5PN\92J3E7D;$ M;O<+!HZW6XT5@'@ X@&(!R >@'@ XET"\0XV)9<(_8>(%\ME)0\HC6+$Y]%4 M@-5G13$,D;G1F$X0N05% 8D')*X[HRA$Z$)(T-V!7.T7-F\\G6C8/5@9 6\' MO!WP=L#; 6\'O/WL7*+53NH(8B(EM%'\VB,MIW)'8!B=TJ2.F+J?^Z2F8$S*JM!7*/T/1NP\2\[$8JNCK*%I MCU2>;5;]),L*E-[B)64O#8&F9@ZHJV;F!C-"DPOQ79WEV-C6&9WR#<*H?-72 M 8T'A;-4%A2TN5MJZ^PG2%,'5%;2IE[@VG8.Z+MG2(!J.3.-*US5U 65XA$Z MR@Y^[MUS-DD2@3#YYA\I^>^4;C1-6U=TRKWMFMW31[6S3]G2%8TW5(#-]/^2 MI6)_;F[LBM+2IKIF-XRN2'7;E9961?/>J3T5BX+)2H@)?OK?>*TD4]&N?_KH M8D&SNUQ8:'=S)&;JNLC+&]5(5@?OX9WZI[P"9)4&% ^6;[AV.XU,\I"2^2"E2DUC3IG>Z;O&,2$=BEBM<$;IFO5-W-\=IVJ1TZAKU M3]D"I>E)P05HY>H-KK95[[3=HZ?+1'HBIZ3R9S4HQ8;VO=/[&TV%^D"L4H+J MV52TZYV^WX5\_>],(/\[C#C-<'+)>:&9SX;V/=)[&4_9QG^#90V\F:@ZR.L88NLV;ZKGV+KBS5W5 M1=CAOF7'KU$=9S=E#^ ? O+VWE/>=( ?R-H'[UC3!,*!//W@'4^P&"B0O1^] M8P\8G03R]Y/G_"GBFD#N?O:6N]7-5WP"BFY!F?05GVA#C5#F?,4FD+0K*(^^ A1(N@>41U\! MBB9G",J:?\BD,7$"RII_ 6<(P=UL/N'5: Y!5 ._4,M33E'4,[\@RX-26A0 MQGS%+? $:2BG_H$7S0W%4;8^3(I]31O[&+X_P&_08EH/2,0&F_GGK M82E7'_@RZ>*4AQLQ#!9&=F*S*,PZ#\@7<&G .@W.AW:!-'<(Y+!6+KB$XC3F99F9(I*SU65ZV*28^6-"6Q^?VE-D,[J0IO M3UCPF+X]CREG^8&-*3[M*1,?_OB$GLBB6'QZIA8V="E_[Y\JL5BT5-7]WCM5 MMS);K.;]U?[FAAKE#-7\Z@]%G:T\,&5XIT-5[Z^^A4O*:I66MHV?U WP=E=$ MNC&NIS>,4%:=C;K%<8HXWQW1F"1_%CR75*HEM,TX3CV"1W#5Q1ZW3':PY6:# M6IJN(3'K''S@X0J/<(6'=XSH=ET*VOB\X^85!J0-8&QT$0P-U'7\-M1*0#7C MM-%V\"K\ I6H?BZ"+^TDF;(54YN?< M8J&@RLWG,KNDCTA-:[N1.F#E,\W$OKG$>86>ME/&U23#>CAUZ4X8D_9V28:8 M.T$AVG]3UE:3A^[%GE_/5;M1CI_3[G5Q9*V8>&3ZB3QG3Q(+-3Z)$G*Q?7LFNV3M1&CFF7L]N%.Y_43 M9C/,#A64W"8KVJN/NHO+7\Q3N\'T(XQL$]3VNPPI49>Z]'E M\ P)67T,5K82;]JAZ]*K(/QH-8\/^5 =)1,!XCK>+"B8QJ2F]I)7:Z+]UG$D M^41&SDMO1-0<"6^U>V-DTRLQ[<,X\$&K]O)J]5%:((,=U8'H<&4"G _>K4M; MJVW[*D&A;B]7:E^&[4A6;=L7;Q*$=[O7]J*R0.DM0#X[*O$2 R6Q:Y^%F@,Y*2TD]WLBZ[G\HS9-H$E+X?%^;._' O?LF#JD2Q-];VSO ME/J-!KH0($2B=[F*?R?Y_+3@.5U@UI0U8]H]Y)J$DA"4<; MQ0;J>>\LT-Y?*X6#8*\\*UXM$A\S362I/"5/ M\SEFD9@8E,V(>!T1*G5.9.A?,QS5B&:.@^N MJ5.D+HM=@ MO,TKBK)&NNH;=D%(\5&X)_ZI=R( MEMHBT_K&3NF^(AF^GH(Q@LG(M#RF<%HR504GT("698/V5/Z ^[KGX3#-:533- M9M6&=?ZTQ!E7N(0MNCI._"$+K/9HZUN%])TCN"[A-\2(?+A\O1H=KFHV&*U: M':AN.!9Z3?1U2.D**5V BOJO \NT(<+K$P?@L!#5M_7]39GX)=0W!8R-6Y K MC-JX,OWD5NG"I\UN9__YT[@0J*K56'C3&K/4S'STD3\ET*-P>.4C7XW.+6KK M1!I=ZK:9O\^[9&#PV]F6UX'FP7B5L=Z'W!Y)J1QH)-P[R6WT=L0+T33(&/92 M4NTMJU92ZL\5%#!_M'W+ 2SFULR);R>B/WLBHYA2/-X*I\OO2 MQF-17LD;U*_M@^73XFVHC\YYPP)0TT$BRD">?O)FP9LG='JC!XPB2X@RG? I$%>D9?RVTW\LY7D_N*=Y(*3N+T3 M7EC<]J7\&J62>2G&78:W6PGSK]X(_0T*?(Y9?I#7_K& ],-."^H;CY&V@<^YK@A MRN3VA.8NX9A(J/(:C@1XQPAP WAEA#^$&J$JKUP, MW4FHY^$_FY?9C#;=LA<<8,$!=L0.,#C0=>H%>Q]E.-_ZE,0"C/@,8@- 0?6?"1';6/[!RQC&0S?H/9G13_)O.[L7VPO8/M'6SO<=JE 0X' M..PK' 9N/$ZQ\(<*,CX@,5&1:"X38LHL$5,XW#B0&T0,)". XF,&Q8J+ ,Z% MZ-$UQI,L^4PSO/ETEXL5>+V4,J*^%<"P:P?$'CSFC# WD$;&DH2IC;9N![+7KZ>F!?KO%:7G8 MF?*S:C!UB;):-L.2?47@=OX[=T7$^KK^[CU8>PTV:&NFS F3Y.5 MFNUD_4K;E:I_K_^S!"1Q?3XJS!G\48.N]>#C\\%:#SX^'WQ\L/R:>IQ-7>I5 M'Z>E%@U2& X;G2NW&0)[YQ!4S#\U-'B]\E';R9X/R4,=RJ#&[O=."'M5C=3( M*O%2D ?96WQ8#^T5F+57T3M&>U\DUEYCX%1U5*+/AZDR]Q.XG:,0E@YAZ2,. M2W?J^W<:O/XA2K&@:??&H+'JE_WEN-1&R/%R23 M56>N2@E11NML^H:87/#5!E^M/[Z\$?EJ _ -P/<8@:_]-NH4WOX<;5T&T0/. MQ(/R:"FL:&.XVS2.&_@+HR+ X6.&PZW1SC,/5)9L'6PGE4!)'U-CJIO-$ %# M!PP=,'3 T %#!PP=,/2S6U.L=U.G4/J7:(H(BU8H+7!$I]&TQ/H$I1'9%30W MQM5&@[H!V18D!<1]S(A;X8"69?EQ//^$$Q*C]#*+Q=H]0WSS67UDQZ1?!V1" M2.KQ\9]I5AXAS"MUO+U!D&N/70%ZN#W6=!"HKQ(1T/Z;>_$7%ZI=$*O@JMTH MQ\_IH(GE)P47P(/S2?Q707@E<_)/(7;:#'MPO^/@QKMWI#[OU= Z."+,"A$+ M,/2;Q$)[PAK]0Z ^P9WBWIW2.9TR,^UZ>J#O->M2VS8X@8(3J(/3'4VZGUIO MX#YRJU]1M"/H.3IGGQ$0\,Y[!)=+:FU1>N7M[&/MCN2L@/F[]NF]=KA4 =C MNX5JJU2IA:/#RP7;U_;3:O&& PLAYA1B3DTQ)P,+W6F0Z==H\[(CAI>4R;2R MR#2FI!O#30BIF8(0,3KFB%&]6X6S_,"E(C[M*:LN6_^3LM."YW2!&:\A3M^H M=_KDR(?=7&8Z#= MCH&704-+KXE;[\C3^+*AW8;FI:$6)Z#'L!Q(:LR$ZW6/\7(P[,K8*/Y7]&F5 M+[!7",(:, M-+ASJ)$GQ2?&3(P+:H'D1\)KO3VH8UAKX_O(-0!E4AM$-]J,$[ ][5W\"++Z MJ*69YU6B6?+8TU'R!"3WLG+-KJ M=O_HFE5@/![(Y _>*)>0H6C,4_S\KT+,QCW#2&B4=?D+A&:K$8;(E1.S>;-9 MI@VI#LT=W&:=(#X7(B'_D3.\0JD\--+P;FSZNLX*XH*,I$2;0&8 788I!/"I M%/ERKZCH@C%DW'\8[JZG%]N"3Y?[>D\5B4V<0?JZY:IR_YP6C GS9GUXU$HL ME/)C6@H8<(6U'L]ME@NER2-)4T':99:C;$8$2J[,M^U/VO=JW-\7[EY^MN52 M/XY3;B_E64E\CYY@@MK4W#'M*Z$'* ,JRJ;F3FG_C!\/$ *CF?@SQ@=Z#<:3 M[3!.>7U!0P-P:FCMEG)&*+O!XO_)+8Y3Q'EIP)6V?O)GP7,YTV>8QXR4EZ:I M6+(4>3#1)HFEWI[S=8HX1BR6*/<,KG-*2LO,G M61\4:[6X04_'')51U0M&%[),A5PAOY-\OG6/P]Z9W2"#9G*:*$>COFZYJKVW ML+IXL<0+!W=6ZE%&BY%"_NHQ% IC*)%W6%[G<\Q>QXRTLF/4URE77[BP^\0@@G-JX M;[W+ C%C5+>[>9?U8<::I]^M'^"FRJ^;>D+&?%O,"->:8)O7:3)%XZG17HE #HO7?O:C/,.A@OA\V,( MGVLE1=MH](%F'5LAOASBRR&^?/3Q984*H%WODBX1]GL!)'>W/O$(98E8C((^ M(84%PW:8VFA,)RC:@J* FX\9-[>&0B>O[TP3Z_^"L@6ZS*;R'_E5$U:R',4M M.(WG."E2?#V]Q3$5!NC?.+E,I'-_2K9U*#;7Q25"ZUT1]$!2P0KFXK=B@1,0 M:NSI*<'L"&9',#N"V1',CF!V'*'9X6+S]"XSM'D^6L$JE];7AXA5*23BW_+% MR:?8&5V0H9S86G!"@HD53"Q]N9)7*56E+CM086L0-FPQDE..SPA'LQD3R)8$\$>R+8$\&>.%Y[HI--TB7:_E&ZX#>GZ:NL)_%"Z2/*8AP) M\!G%#"9:]P>%*R9; ;N@[+04KRLA72!X MU6ZP@0R0+=&?Q7KC5Q259PDW55NRV9X5N!%B/6(P1((A$@R18(@$0R08(F_! M$&FY48XPW-$%0G)I@_T4D4W1+^LSZKHAG-A0S00$&RG82"!;853+%#A1;C>T$+;>@+,#H *-!,/I"2BN6E21>%=XU1-3&(PW$\;;4,)PS98]! M.*"ZF;XH9!V*R4)6'/V[3 GIE=/B*84,&$"B94,*&""15,J+=@0C6 MA1$&2EI#/"#/[NKSPWGN'@FY-)M_B9:;4G+1,BUK_0HS$F^KR=F9RT9C.C&3 M+2@*YG$PCVWNY+:^C3N81<$L"F91,(N"613,HC=D%IGNAR[!\:]"G!XL07!M M7R=@5_/D &H#J 5%0,Z$!!D&=]1=!N+A$Q*V=UEY\'IZ1;/9/68+"[[,A@F@ M/8#V -H#: ^@/8#VXP7M\%U_U,$,FZW?I7WR[GMY-9^8J"3"55C!]F;"QH&< M6"Y0,H(9$\P8Z&EQ*4T'1<@-P3]T@ #[ ^P/L#_ _@#[ ^Q_"[#?;%]TBHG? M1203K>1->T^6:%@SA!L8M$ M&QAM1DU TL>,I%_+KOSFT/ 5LDC7&-]AMB(Q+A?JB921OG-Q@1JAHQW-^LIX\(I;<"\KT8&F0AW6X M.AIN('NJGM);S'-&8J'X[W)!XQ>ARWCY4B;2J:*\659I:77Z%*]FJJ3\>BG_ MY)U.#GS@P>?C!JWE=E6^ND.R?T-I42UYSHM%]9WUW+1_2+#=@^T>;/=@NP?; M/=CN1VB[#PC%1QTB[1YBC#IRV@T:!4[!AQ%-02MK!3@?/_@P'YT:M$[]@#]$ M*4;V1R\5W=UX^;0/#TZ]-^C4NRKEX58ZX.FTX-@\9[K=*)VP()Z&KP7&%OHB MF^UN*<0555L2UIOCW0V>D^Y&=&JREI1). 6R71M:!R=&<&($)T9P8@0G1G!B M'*D3HRUB&:$W K3IC\FMT#54\&S-"T-AG1C;AH3 M%$S08S9!6T/::RE-GVD65W=1FA[K->T>S*!@!@4S*)A!P0P*9M 1FD&M=D6G M6/F7:(H(BU8H+7!$I]&TA/@$I1')N)@YV=06--N,[08]VU,68'2 T1I(="'$ M2J8;;)P>GX2E7#"<7&>W6"H!84:?($YX$VBR'2; Z@"K ZP.L#K Z@"KCQ=6 MM]L=G<+K7Z/-*X\87LJK:[.9)9AN'LD-=(;2$8!R ,J@(6S I^L/Z$_ M*3LM>$X7F/&3]>U6ONXJ@3,]>]1VX "F Y@.8#J Z0"F Y@^7C#=]7[I$EZ_ M_S[ZJT LQRQ=/_/A3BE;5"4VB@P5"[6SS!"1QO35^ Z0&F@V#Z?V_% M[&(K99=[(3-$YA9C!3 >P'@ XP&,!S >P/A; ./66Z0C_,TWE$:$E&D4%=9$ M62+Q:$JF:^D71G%,"YO\D3:C]XV[V],6,/Y3&* M"\K.:/&03XMTLA&7299LK/!)\J6>*U'=A12VB;<9R:P:>(S\__*L@* MI1*]3?)3Q)CTT949Q JS&-;)[^"P4HR")Y.N _.D/@4*YJUY"*<\"CV& MA:DS%_;1F;"/4KJ4BWQ3353!%*A/<#P>@^.1E0JFJ4DLE"D3UI3" M"]G<8S"7Y+'X[_2,Z' =!4$K[[AY9670!K@_.G^JQICRQAVGFG'::)UZY0R& M2E0_7F!G;T/MP7#+0E>+0V>I^K5$E,J5=F9P^;>@##><5HNKH[**(0S68QA, MN=:.+0SFKG8IC"43?X?;]=89B^9.$""C[NY >8^0(TI('_N[C2!\6?@2 !R M^*-G')K[MH",_N0]HU!'E[>!=H%9R +)TU9%J5:B5&@<+GLN&170(5]'R[3L MG"41%LNRE-YM+'K+9!]Q^6XH\R^,WR5?(>H?HOXAZA^B_D-3U&;E*?+/+PHF MU'/!\ 5YDO_(Y#9Y%UR18\9K:3+MYC3(<%*0-*EN)=C^>;D0"G]5;B,*AFSZ M.N7J$XKG C"QM2#M?+M5:7D!]'#*PT%'C7*PZ.D'1Y*J MVGW4HN?Q<-1]2DL7G#7F2!CT#$%J]T'J$.)]$T%1/00^A!2'YPK1["IZ%V$SY1A*\=%R",(>01F M'(<\ C :8ZQ.Z@6&2$9!^?EZ+P,!R4R5)27:J+E$5F[P=W4B&Q!6@B(A8#8 MBR#&78PSQ C]DO$ECLF4X$1YX*VQ[3BH=7Y,;Z=MMR0I@FK:=AT$C2;)"DF, MF) 8I>H@D:99!T2<%%SL.9P+]/9 LBK1=<9PM75BMJBC"-JG'_)^I^PKR6:G M:$ERE.ZS:576:Q^N4V-.V F#/$&T5,U::+QQ.^I!RE M'QDMEH*_M)!^(_&MQ(DD*W"RN0.=9F(N.$DV'_Z-T^0R.^<"0SW6DMSAN!VP M^9'2Y)&DZ6X=J">[H6D'Q'RBJ4 5%T2,NET GR[NRWHKJ_,51 M7,)';3#:7E\Y-]D-H?/00MLGLZ]:3\6JDH3F^ M8?1"%J<^J%%]CE@F2.?7[(IR?CW=*ML[DL7X0-#/A)A/XD//4_.T=/HX#^=N M4W2P]TFS>([3V3*PH*JK0/;[7G[ MEC$7A"ME ]K-%UX^X_QZ*@^@-]B&-D.X37W>QF#TY1.AS4.:^3'40A,/$_!Z M;[QJ5)FV;4B.=Y):WN19H];N41^YU4L<['5 MFFB_=1Q)24"CP*XW(FJ.A+?:O3%AT"LQ[<,X\$&K]O)J]8EZ0 8[JJG7XK4M;JVW[*D%I@%ZNU+X,VY&LVK8OWB1!T;O#@N8J"Y3A#.2SHVJ9X7A@ M.!YX?,<#NTD_\$[C=,Z\/O7$+8;JC']8S-JMFFW/7#\'/8"SX%OAXK:)-D"V M?2MCW$76,I#UGSUCW3XH#V3XE_$P7)-= 63R5\^8M$U-A\(2=R:P-;]=9LM" MI\4WN.8F\QHZ.[[AN3[/+D#GQ!N,U^HD,Y1;KT"?V0ES*(N^(;K69U+VC/=? MX.5#Q"H5+?Z-Z:QZ2LNZ+D9C.BGG8D%1J.)RS%5<5&4-\!0S)C,E2FG1E%;0 M-72:+2E5"T-Q_CO)YZ=BJQ [)-OIE0UYMY70_ZW,$[8;Q"F?%XBPO'#V? MR@N;A'$L(*;T^ CM>H(XX5\R^L Q6TG_WV6V+'))=A8+1DJ->[(NNY_**P"U M!R+Z?ER8._/'#7K:9,?4(5V:S.3&]B%7/91$WV''\65]-\LW=:U-W4Y3AXD2 M0%WA7;)$[Z^5PN&65Y%9KQ:)#PD8(38?8O/'%YMO8S:Y=/+\',TV:6EE)5LJ M+PR-R.Y&WPB5"J>EUZ?=0YRX@;H@,?B%CMDOU+Y4WH*RG/Q=;L77TQ>W9JN, M+EBGP4N4%2R>(XYO&(GQ)"T)$5]O,U[E;=)QCI-[]'2&DR+.2PX6\NY9!=N] M/".8U<&L]M*L#A X0.#C@\ ]ZO"1YJR:;.8NC8!?0'>[6X)_N\&=@/XVI 6P M'\"^K@8;7C(<5WXW>1#]8.4KL!6@1P"P < & !L ; "P;LY?0#6R2ZSVJY"E MA[:83#^($^P%(2%@K+>'L1JN\JJ]6/;@"B_-Q;-]4E5W^? A5>K+B7NDZM4U MPP<4*6Y[[IL:Y0S5W27L#45M5I[JFK.44CGT[&XN=I4 MGRB?=X'B,ABKI1?N734S40 0;DK_FFD8;F8Z3=(STEA('0 MA,2;F@LWC&0Q62KOO#+K[)@O1E8"+*SP-LU25JAK>#_-7<;,P\!RMB5LEZA^ M/=U_^1FKM3&TXU#\D"><'.K59D94/0;B8%\GRNR%-/0;B)N]0KHE_*L6>35W M&8B'S[0J2=Z 4_3-!Z)=^ARNIUOUTTA[?7.GM+\H$ ]P"0!Z^,"!=JL ]1DW M%X/N>,^@]B-::J^FTC=V2O<5EMYB+M9D:5-?%SG/42;+RFFU$;2;6UY(AK<4 M 7PU3: MS>0&+0T]%0\U39S3F&\(D,:.;GUKF@Y*LWX5:!N/C>Y!U^RU/+-W6I7XW1ZU M)%@1N3+IXYZ+SS2C56E76>E4@B"9&I]Q14C8HJM3GFX866!U1%O?*B2]'L'% MG8=Q HT.5S4;C%:M#E0W' N])OHZ)$*W9J0^\8HV9$#YQ,%6E!K3)JB^K>]O MRL07I+ZS M^S+=0&S1/UZIQ7'W)[)$77 M -NHGY+;N*/O)-8^7]U+(6X'>([L;N!F=[%W@ML 9@[$MNEX@)?BV0[3M1)/ M_R[('1T>T-H1+T33X$2-EY)J;UFUDE)_+D.%^6N]DU&-Q;2[A\;R9)V7&_9*WJ!^;1\LGQ9O0WVTW!L6@)H.$G$% M\M31[:&=&J30U%]O]("10_U9O*$YL] K3=%'I*&55NGH!M@.Q1=V(MD[T05$ M^0Z8-,B[\5)^NXE_MI+IJZ M$V3E60FWEG1W#!D=^G)K;_4DHO *&FY!>H?L0HX5NP5M/3"G.W<,!0'NK ]3 M[AI*#$ 9] _FF!6#@/+I&^(QK+&P9[/_XL+OWD6DM/&B'#VUK#$,&JMBL>=2 MPP:4A(K#;Z_BL,%1F^UEL_?HJ;JSY2,3R_<%L;#&P](MM6OEZDE3^BC=DU F MU#W=27V"Q<:%4 M[B:%(&K]K+&"QPY'=CHC%Y1A,LL@KU'7=(!2)G)%%/F<,GW9"7WC@>D&5%]1 M-Q\C[<,>4%_B3)#T'XR4)[A?MPC'GX_@^/.7C.WN>A;O]P1G MXJ[WQM:!T. MZ3H\^JE4W*_"8DV*TBV/G8=U]3N8IQ%=S3NA1OC0JZ!?=Q+J>4*>S;5'>9 MK47W#H@N=2"_022YH$Q8R;^3?#ZGJ4QN%E^4OY[(E7IZL% G*\S0#']"["N6 MB?JOHB7)45J]_EO,,5MA*0(715XP?,EYHOM.:.< MK94P+Z7?0^RP'V7AW9XG3?6X<U9R6TK#C2G=THLJ9T MS_!KEKB*A;TMF24@#-KGH\*#N'E71#,I_ R[#1! MO1^/NM2U/DY+K<^(PKPUH\LB:':4>7>,0C'_U-"A[E5ZA)WL^7!4HD,9U,05 MO!/"7E4C-?+V>2G(@^PM/JR']@K,.OKL':.]+Q+K[ +_SH$,HT]T_G>W/!CI0;>>@P0C/2[G)NH)G!S?2L#V M'$<'SHIO-6/[2.,"3H5O]63=Q[J!$^5;;5K#7"@H!/.M2&W[" ^4V:]N&V/T1U#"\*QY*G5)5@%'16=LHY!@$AVUPV :'[4N6-,IBI!Y7P#;H M%-7^'&V#=-%#Y8V(EBG*6J-IKZ#49@RGL&U;SO#0XM[>N+L^31'G9$JP#.?' MU76\"F1G/8YK;H5Z3C:>5QFBKVHX7E F/VR+X4&XM1MG"&[+>Z[(0R%?B:3N ME/+\=E<#4,\AK&\PX$+R=3",@F$4#"-7)8A-=?/8[*7V^&FDV2DM<=1(I,:6B?#LB3NRJ.YY]P0F*9:A)/LN0,\_,517*8+:>O]6(YR_)P.>GY^J]HF\5\%X96PR3^%O&D+ M"8#['02@WM%ER^1Y"S(X\J M7D\/=DN-5M.V#8YJ)^4PFG86:@T/?.16+W&T(V [NH"$$G@?]?HXVJCAA> M4B875=LPO\&0;H+ZQ@2%$/XQA_#K/8R1?%I3YGX\,!8 M67ZSPK&WA'\]P5D\7R#V51MCAG8[!EX >_)FZ](T\388)V&YJ7EZ5TF]FH M+Z0\% ;VB3[N! 'LYY>0C MEJ<(EG,2GQ&^.TJA6=K-'3R@7RM4D"YCYF'0E5%/V 5EF,P4UPZ;]W3*T18Q M[^H6W%7> =4":6P_"/6WI2M#@E8@^>H.;M.(4"J+\:YP5N#/.-=*D+9M2-8* MYW-WOM;QI#TU^(FHD8O&)\9,3 5J@6E'PFN]=:=C6&NQ^\@U #%2&W0VVJPU ML'7L74(,9/512X/'JUR)[K63#_EJ_'6N\Z1)'"9 M.C6\DV/0;MG(J,;(]E*BNT,4K>2XHP2@#N08$DWV1G9A!LLV(Z8A5.B5?+8T MUGR "#WMG;#8J7<)AT:L @/];A/O0I9SR'(^OBQG>'#6.Y4"2 *%Y.B,-$<9 M&!P96W*R8>S$9)P4YX"+G$;R^7V"!0=R&E&5])A'FY M$Z@*:TX.!&Y357\RS3'[#T;L0G1XP5&'(WH\ Y_%>KI_Q.D*?Q)@;*X*PW8S MJ,?ST*D0C.C]EZ320I4QT&XPS_F^%T_N[H4_&\UWSA]I=WSOQ_*%Z\]859,? MUBFDPH14&*5#9$BG<7!6!6?5\3FKN@278W-G=;?MCM3AU0G0&JD[K MT#63= MFT/\'1I40-9_&C7K&H<"D/^?Q\/_*PSNH2-X0P$NHYBN_;^&#_?)[6M%>O#V M'K.W5W%"7F@%G*8XEH5$;A@5)D^^OF46X MJB1"-B4:1"R26'&[*%QTP_D"_\GJRK M0+J\.$ISL-5B!%\XU!4SAW;SA9?]3,L\.>TA6,M1CI_304\ UX#>\Z/]6R23N4;W+]3^4,.\G M[5(J&2QH=C]AKQ[MV61=8<3Q+9G-P=$O[H!5+WC-S3M@IA]7;>DHZ'4"O2I4<1L[\)KCL7,S:'"[CCIU2DE#ZT$H!UP, MJ+H2P68(7WG47'YHSW7CC8K^S<.U3&?MX(4_'V=H;NTA6K6%EQ#D^B$E,UUJ MG+L'CW<^*\A;M2QEQ,5<*A]Z'/.X+Z+6M/&X>/38Y_2YY5]6J;M!:TW>T2 T M'-$L;[T$FU*Z@\RR@H;1SO(^!N1")=0\;<0S)R1 T+QV,F\OGC7:62MW5>F> M/]P<',R@]KFCG)*H)'>92H*4I"K4-=/G(;#DZ] MFI+F@U.@0)IWAZ3@TKH]"-.8K.?5$8D^%O!(3CR9OUI]BH%WQPK,&02EG8SN MT%)KT]([K=3VL)Y5!H^7>BNQ8/ RM1^^4GG^G-_VY*C&'T9K\' MW\S\(]YI&QB3+7.P1GJ4$QR;&.F93?M42B##OA7$=9^1!)PHW\KG.L@W ,Z, M;X5U7:8( J?HER.>(F!B '"F?CWBF5*F0T%QE3OC'W#[I..C7- Y\@U\.LYJ M@DZ3;_"UJ0"%GAMO8.D@Y[2ALS0"<.LJ01HZ9=[ X^&/LT.GS!N@/-BQ;.A, M>0.K7G'W1- MQT3SH 5%XEUKJ>5&&L/F:@; MNJ57;-Y2#[96Z8'ZA -IX4#:SDTPO@-I&B!(38&7 MC_QI#"%J8GSXR)MV4Z-FVXA;_CH\K-)DZ3I^<0"=05Y)YR-8&0;G=(Y;+V4RW9@ MK)5<=A1H"X>OPN&KXSM\I?8INM7ZO3!4ZWETJS5ZX4OEG!P@CL[C.4Z*%$=T M&BU07C"A#]J%TR$CNHRJP^D)P?407'_A!PS!]1!PBN'W%P M_5.%,PCFMWBY*8]P/;UA)(O)4E9E^BRPQOTC3E?XDS"-YKK8<.LQ_9V%_V#$ M+FBA%+XV8_G-];UXL"KHV&XPS_E^I)UQO1\JI':$U(Z0VA%2.T)JQ^#A\Y#: M$5([WD!J1XA,#A[>\B R&1(Z0D)'2.@(&7$A(RZD=H34CI#:T5_&0$OG[Q'D M@MCY!(\@6<36!0QDW;>J91TX_8&<>U-\S""5J_^\H'H8VI#QM$Q9QRU=F1/ M'A%+&F),M6T_>E(<@!Z.,V:""7]8E^;;*X\*.=>%F26E;.VOJ6JCO7]'&77R_(RG@O*IICDLD#Q#6:$)HHY M&8""XYKA0JC@W[$L#YF5#A%XBPWU!:*,-!7A%W).^E9) / M)O;UCS_*N?5/["WI.Y*W\YEF*['%X>1SH=D%G3__V&;7/[$W)^U(WLEO)=># MZ?KZQQ_EW/HG]);T^?5VN(K]O865)?(6EL:4[SX?%>8,_JA!4_]"TIQ%2,DZ M2/86DN;J/3W4I=X9;;Z6QDOF7CB1?+*0[&*_SD.[0 M;_AS(&?(2%,C_/-@C#358ACW\TB3,SQU%X\TX6,8;QAPLKRY9\YO[Q5P-KVY MBV[H6#-POGR[C<['\+ G66'30A*O_!D_R;]Q]]EA=L\=.DNL#=4A6^R8L\44 M]:G.A:32-9:>"(',\>93Z;&I-(BZ<)5AUPZ)O<-L16)KZCL;M51,=OY_HI*!<>] M/R_DRKZUN'"8LQ!+#['T$$L/L72=/R3$TB&Q=&L[RZL ZYL/J?L@2KZG982T M@Y!V<$1I!PY=2&/+,>C?I3*V9 $77K:1Y@0X7ZUDXI_\@HYS>,3HGJNH:: M%DXI_(SSRTPH+WPEZ)BLA$:1B/:>BDUI0;/2\IK35&RX7""\*9H#\5VC>;33C'XK_D'CTI Q'6(P5W<7 7>^DN M#DZ-X-0X(J=&5YIZ;!Z+)E0Q-G]#%_ABK/Z$9OP]TGQ_$$)WY.?8W8I*2+1" M:5%9XB@K#>^43->"T C%,2VRG)O[+UH-W[=?H@/B@K\A^!N"!>*D,&*1O QE, M0C"#C]D,5ASHNQ9(2:S!;"96WD69FX&O,.*87Q'T4-X,=EHP=K"!'Y[4,^[L MA.#/-(O;T/RZ?Y]DW\HR 71:<"S]]Z^-7:O.;H\Z;IQK-V@ML99"7D"-!Z'[ M%L>8K"0UGW$.HU[7Q34/8@M/JKC"/7H2Z*B) 7W[(:C?KCP"I%[=WC7UQ:)( MY;Y:U@&1*9 ,SZ6=ML+[2(^0D.NI.@_#H.($)Y3M"0Y2E4< MZ5N[I;Q6I];^. !=#=)>UV8X*B(S\5&*?^1!7M6*)4V MQ"0_18S):)"NK+I17[=SO 4BZ<_2^7?$Y8BSLF4X$0-G]N.,SBW\KR>=D> =1J$ MCQUDJV@1>*"!!W6'8>D_0&\&3-3W^.T$6"6Q\G CP M[C6"F86'[;U+F 3SJ':%>9<*">8)8,%XE_H(%TIU>->[(Y$&;PQJM@%Y='=S M$9C'>J\&814BRJ7=R:L:E M>;:2=^8$D.$6!Q:\,S*L)+DIZ=L[J\.,R\80M'<6AR%_W2@B=P:(_>MK"7'< MV1UF+!HEM7EG?=CQ:IDDZI\UTNDNTY9M7S$3-+_#/UO%6A?;,>8=.MK!0>"9 M >]0(#1,!0M>>V>> 0A_[CC7IRMY9YN9\:<_(^*=26;&'.C\G(?KSX1'TZ0H M[RPPPU?:YI"G=W:9&>]->3?>F65F[#6E<7EGEIFQ9W8.8,^LN](LNZ]Y1*=1 MC/@\FJ;TT;9(2]-P3LNUP(@)A5N.N7!+!Z?W=X64[JF\D4G ^3(#9K_QW%.9 M"'3#Z(H(.3I9?^'22[&W8^.:!!O*',*?OX] 9 M?L.( =+Z>18ZZI\@_JXK0,@0*9$,M?9G9CZZ^EVMU8PT-1\4-J?Y6ONDC6! MG.@[.ZX5\'*G>)&AHF )W,\3;O89[,8,O>XZ/$\O$FQ,>%)T'9@G;3H-F#W0 M* -S>@!>+(12VWMPSJJ3%"8"6=-G8"YV%O4F?-!@N9L/,#1_TH^^=QOHJCJ9 M=?:*+QOEV#C"P!QN3O5LK:#-Z1Z!5 ^2G,',F@SFE&]YPJS&T57!V6>.+@6O MY@-XRE^#YK$?R =^I>+G>8OWJ1G 4_[LWB=@(!_XK7%$F_&I&IV\> M^V=!!C4KK]NXK813.2XN*&ORSL,WBD[&'&(6!/0O4R+NJ3 $I*TC(\N".L') M]K+0YPFD^@FP'FX0WN_I)/ZK((*LC3\(5^D?I9^O^B5IX-=DB&%Y5!X+AG+8 M.(#K>E8QQ@F75S)?K2&@_QS7DEAO%)A8]8)TUMA^.^F9=U]3<;94S$SSA$5H(5?K*WT(5-@ C MH0I;J,)V?%78VKH?O#O)TX(A"G)E>'C\!51NK_?<4>]$H5>6GQW&-4W0\DY9 MN)HJFQP7[Q;<4)-5G]KDW5$U5],#L2.\.]CF:G(&R7'W[BB=NQW ).78NQ4+ M0Q"V.2S>X0(+1K33T)0"Z-UNW_4$*-.SO-NZN^;;95]*<7:1&_O#J7WP+TV@]J[8^M=3X!!CC5P+MR5'>M7&[25"7;0RM'*C@OSSN4W(*APU))EJDFWF'FGJ8#G%OD'93N:$*ZR);P M#E/W,S?@O!GO5&@W\V&;XNT=UFZUHX S]\>RHT 84JR**W76SE@V$$/N@3E+ M8]DM6KQ[2(+G6#:&-D+0EOG!=P%3&>@N']^[C:&;&3*HZ>"=(Z9[/0'(3_7. M&]/I2FEY<,,[]TPWDV-[_M,[+TTWT^%;R1PH?!L;>AVR;!=T3L>&B7V0TEX+ MLF8TQ]&/$=N%TWB$LB1":4H?Y4X?32F+XM(,B,0;X^+WP[:)K :=&E1L[?9Y M?9=T[8/:4/,UU'S5U7Q]E?$AM 9_>7'0R^JMH$YN^=BN$8$%SVCQD$^+]#69 M#6S9C.'X9-5NM;^^F/K5L2I-VW V*9Q-VJ&/<#8IG$T*9Y-Z/;)BL&%ZY_ & MLFB_>7KGVX9Q#-A@75I5/T5DG[P:\6*Q0&PM;X/8?KVV-)_,!W9B)]F2%0RB M8!!IRQ!NI.="2"J?X^0CI4F5TG*+.68K38%%<,]A.#JX.E1%^JO;15W3>(L> M/XEES@A*S2:]L>,P_/Q.V5>97$]CS,T8:NX9C+A@Q 4C+AAQP8AS=&K0;*L9 MJ2%GO &-U'PSAFO>92$9\JFY.;Y_Z_3G:":F]Y&D:1G2HO(@B;#4:R[%V@C M/ I _?+G06C;'CLY*YB0_"K5I(%>79=!>+B@#)-95GD5X_4]0QE/R\2-;2V5 M!H[@ PS"7WT"4 -/^D[#\%$PH6TYWKBZ9:;/OE)'$SN0OH-P]3LCN=@&KJ?3 M7<;E\\(]7S)E+5*K,8(K([@R@BLCN#*"*\.)35@/TT;JL(!CN)%Z*BSPPDA] M%29 S[LC3V8L6L C[XXXF7%L:I&X=$_]$BTW!]*CI3R17KI7\/9,NOY'.V=4 MAT]TXGKJG-[@:#IF1]-K^9??_'%1,"&0!<,7Y$G^(XM+R@-[18X9__1,U6SM M&\-NKK/GBT51JF](Z633ZV:Z'M[IW)P4I#R<*0C9_GFY$&IB515HK7_9-GV= M M3CGXA.*Y $YL?;A6M1P >KB^=:E>XYRL[P4=-=N+14\_."H3MDV9>=;)#S[4 M28"0+G[P("6D%E59]#P>CCJ#D,&G'GSJPS%BLT/0%DM_=/$$ZRW4\5MN]A^9 MO"MJA46]"JWT+]FMHC'N@A26[]W"*O0NI&$K\E#3Q;L0AR7#8$O'NTB'*<-6 M_BWO@A^6KQGN&W&KQ$+8/X3]CR_L;^*G\&[G!)^T[\%E[MVNVO)]#WH4X-WW M$:HN%8EP=7[FROF[G%#T*:5$6YP!TZ M(.PSE7=B+84J+56?0&NED&_JL^[J%6LHM1O!=53WQ95'C>70].V'H/X.I8A! M25W_WQPLHU'\ #_IZ_J$E^@24$3>7V6,BR1\\: M&S%N-;)W,W):%@.ZS,[P%(N=/Q&-JIMG?T-I47&V+=W<8G8LGN+=3&T.*#YK M<49$1XF7"%+5O.ER:._FY"-) )0"6341Y2?%Y%Y3YAE,IL M'+&=8R9@6*8YKM7+,[R;IFR!G_ZA_=A"0QW@E[&%BWKSCXXTJ-2]QP,X$>[NK>]N(M2N M#R#3[NZC[V@9M'.6 V?%W;7T'6Z1]N8]%$"Y.[S;W;3HW4!0SL>(':V]YM!) M&0>0;(XP.!]E.-\&Y05!$9?K-GH4^]D\QTF$5H+(&8ZR0DZ'O%*A;,"C M0LQPE-,HKHYNEL/@I?5AEK[I<)/IX(:+D YQS.D0'=S'%[-2*%$JMM[%9BOF MDSQGY*'(INW<[I_'VCU2:54OM,.N;H_JI^6#-EJJQC%< MQA 5X-FLLUN^'A%+&@I U[9Q2N5FTY22T%"_7='.M0>#+O!^2Y1/E1NS>H8! M/7S@0%OV&-1GW%P,6K;Y%G.!%F.I1:1\RSN'^.W=%^UZ /5QZQW"J1AN]A%G M,@]'EOA*%O)2[US&$E;;7 S]Y0!68[CELE;/'^+YD_5KN"_5[%[79HFL!?89 M+?35QOM\5)@S^*-"2??A?<3!I]B:$1-$0JTV?Q^YK4>XU*66'9UCV1B[.G[Q MS4XKF-#23H"'5U[V/A:Y#_7L.Y1JCP^K 4?Y,;: MJ>=?F,?1$C,PV-W.48A$ATCT\46B;1SSGL0A'U(4?^7Q7/3B$2TU:;04JD/@ MTVA!$YQV'Y"M=T4 M=#VW[:AP/].O#F^^YO'!9#W>8[9XIYO47A\8@F@AB*8TN4<>/PGND. .\?G'6Z>U);$2+/]'>-9X"SY5IS'E7$/G!YO"ODXQIC Z?&MO,^@=HTG MGG#Q>A>(K$PDG$2]^G/;GS>6&>O5[VG?,Y89VL O6?X]%'-[&^82W:R9&=H4OG5 ML!M--T0=PWLX$+W);,8$ALZQ$VW;FIXCF_U>E;3IX_V:6[\/.88Y&]O!4&N& MGILI6.4C[&0'ZX6(<_OY'MMY=@OX@6.=OQ>R<8NE MFA/[JJP-S5"<%RCM)6VH/26CFG&UI:3B\WU/,]Z"DE'->#-T'%CTNR!'RD(V7>\A#]CNKK<'7^]:RCMM$WMY:[C$TK^!8LXW[\A*. M-?VXI4%TK&G%/7KL@5/FV_VB@_O8@//FS16E;C.9@+/CVU6E/6=J0O&A;U>5 M#I)\"9TL+]'TD/$6Z,1Y";@=1 "A\W-L(-LN4P%\-XF-3@\2_A"E6+##(R;?-)T6'$>HO,D[$B17/T8I00_RS#K!UE=" MMWV.FT.#W5 9C@HV.YV/[JC@E92-J[UHG!:,"<%2'Q $=>B!L,\TBTUI4_7I M@+SK)9;UXH5NS)(+DJ$LQN73^?;QZ\W$U-%IW-D)P?O9LJ/Y=?\^R;[=J;I) MJ>F,:%9U[H#@Q MTC]HEOKA FM2@@9=AN=!K1?->@W&R0M% ^!"T<,I!SOE;2)1L$X^\-$H5>!^ M W(#DRQ0GY##&JI$[EP;X\OI;(1$U!R C#9)$X8/OQI7VVB"R,-%W3T$4RTN1*(_?BV%(DVX66ALDY0-MT MB&A:Y 7#FP#[LDJM:)]K8#B^XQP#*^I";L$QYQ;T$WX=;_?B66U>W+/^_G'W2-OPMN\]/&=?LH3PF!99CI/SIQAS M/EG(3R;\-8WAE,LK\7B,%897\]YGVMU+WB![8:NQO.0:N#>V':CF*/YP:[K6MQO(A@TS!5T/KD&<5\JQV[E>? M\JQ"^#^$_X\O_-_.5332C(!N;("QI0NT\5&,-%^@%68\I@2"9EM@;-D$W5A M(TTLL',0CS2_H)U%/[:$@U;A#2@(\:W44CL'%93KL6$OC>\5RO)8D5<'K(\- M=]EQ.5;$9!NNQ8\PUC@9RR3K,9?XQH/L:::9,(RE?&TV M:&#)'>M!NJB[(Z6\]J!@^4L=N< N;HNK%%RH9)!["YR'F410*&(!5GB M+TZ24C%+M0$MS-#)F&X#B,HWHV"QN4,((X8PX@[EA#!B"".&,&*?]D.'>\[8 M8HH=(*&Q11*-T=1(PX=0F.'4,/XEFB+"HI6LD"<6-O0[BES8VX/Q5>PS-^@97[# M,!?R5!8POYXJ-I8Z\]:HX^ 51$/UUM'1/VCU5@N V9U[9!".SS C*T''"E^( MS6.SK/=??E:6LX1W='O^;$O,R7KWY[^)F&H6S]=7>(53C4XPZSP47Y^J'5\J MV@N&_RIP%M=M(!8]A^'H,EL6.2^G]WU]G7!XC\$Y^&#,P0[D^40T N^&6= BJ]%%%JTM$\=ON=G!;_*N MF@1=NW=[%6OM7\!]J*S>CZ"#_0JCD/5F[5PW"TWFN^_"WN>VUDKR.XI6ASLP M@'<)F%LO7HKVF[H-HQ+%<5DL:I5&,^#R:IO0Q(MF4LD7Y-B(>SW%2I&7"#J"Y7QS6[02S??)C$?Q6$$\B6*5YJL1!:H8:+;D<."7IU(:I3M"1"D9\_ M+85R)O+2#'Y993HG)X68]/P_.+]!Y-7[L>SNE+=+.N^"]"]Z[ERS9:!'O@D&F7% @@/+OI;9A5 ]K1^J7M02/WHFP.1^TK>'E MG73;S4%?S@'O%H3]]+3RXWL2KK#GWMA_".3=W2EU>]Z-7)- OMT57VRE%#LS MLX'3XJY 8Q?BX%.A/P'O.4U)(CXGT>YK+N-+I$0M\&@<>*B^PVF&A(1XV#'' MP_HX]7P ;VYQ*L7LE/)<>9;>>("A^5-@M@EC4G>7B^FT5..7655;]GK:!//> MP2>GSZ>[#>D(I,?P7#IZ5KBR 87I=ST5AJ JBM/4JAVIT*(] ;YBSWJ!$\IPP>.P?,G MH12%.2,V0;8N+8G25Y#E MRFTKC8.$NUD?->GSA,RD#I6./X!&=8_;X;6@^2 M/+ AI2%YX$4KM\D#.-^+C2I!H*Z-VQ/S6VNYD59-RP'.^+\&0!=B_9%95IV% MB=?W L]R@8,DMLV2\E-:(=WDSX+G4KUN(=,-9>4/><[(0Y'+$-@]O4%-U9E= MT^#%+,O7WOV\&8XZIIEH0/(=C^Y^9L2N1I]K!KUJAG5RFPB%5S@K\'9KE_/Y M.\GGIV*)"LJ8(# M$NF-Y%Q>#9.H+3E7CE,_RYD"[\Z^G&="S-2'Y=Y#Q'F11O M!2.6H_C Z2OB&M2Z[3!>\JKS@EB-$5+V0LI>2-D+*7LO6&J-GKQ+;('Q#76" M>Y>Y F-/Z2[T+AL%N/(L\*]W"2C69\-!P57O$DNZ/@K?8;@4.%>^714*B\4 MF?/MLE";\ R05=^N86]TZT+!A&\WKFMC %"F?(-()MXS*(^^P2%GP3;H!/D& MJ$#Q."ASOJ$K34@,RI)O* J0*0)ES3?$!$HF@3+G&\1IY\3S[B".-3L64])" MQ(]A/F N;>B,^(:.C;,/H8QZAXW[",YZIQ>ZYA(P@0[R)+Q3-P-,LU5:A7=. MU!XG#IP1[NB\4%FJ[GV$]CZV:,EH5!Z#?E9ZKLA0D1!Y L>NK%^K9S@IV-'HT3$?/5(4+YLD*Y3EGW!"8I367_S3T*P#(J33 L?SS?!"L8AM[0SQ1JI, M^@URC.G ^U_^R3#6W[4)[7<@A=9H[:/6MAZ;\AM$+J>=-3N38#N,K MK_IS//8##O_OS?D*1X,^>08PG&_;WA M;I-"8L'7BYXA;35<^+^->PN]GD\WYA%PXGS+Q[$T MEX#<^I:@T\[+ F3:MQ2>MLX6E_&C#Q&KM)+X-Z:SZBF[[Q+"T6S&Q*8EXR8/ MZRB?XVB!_J0LDJ26==QF\BA"A+(DXIO#"!&GJ6VLR1D]3N)2CKD),:QCCF'5 M>V(XRP^\,.+3GC+QX0^A>)(BSJ_9YJ10#7E-S5S1>'B>J?8%@]J.@]HVLJD( M(YYG,['K8%:AJ#-YVRLM3QZH(XC +AT0=T]I6CWE$XKGXJ%LK2:KL;%3_^7F M'=:3JVL3RE($/WCP@X_ #]ZX 5*CO6=T3F\8 /#&VPU[%12DG;UR$+:60\]] MV? 79X "O/&?F7%G!+V"8SXXYLTX#H[YERQU6"^D?Z_<*W*< M^.3<,A-<.%',6(7O/B--%FJ%&L:6,M05WG5IJ+][M[G',,K1T^&?RZUH M6IKVO@BMK>^076-:_3*%7#0%[#<))5;/$E).&7D-P M8G;[$ZS3$'R4F\\D2Z[$4TTE#-;7*5=G>(KEQ?8;X3=[2V:=A^&K6@J6?($Z M#\*7'4,^0ZXJ-]#!B+[/0+@VL>T,;O16=Q/T M8L !^!_CM9'!AQQ\R,&'''S(;]>'W!E:&:ECN:NM=J1N9]^*ZGOCHK9Q/(WT M$*N%ZP/(J6]EZ8V<;T >?:M.;^*7 [+H6Z%Q&Z<6D%7?2HW;^T^@>,2W^WEL M/'M07GT#7T9./RB3?B(L,'.N([G)YAV4'Q#G.*]2A=/-O6P$V^92MW[. '%> M:RI#V/>8P[ZJ[.=M38NM(A.K_&HO*=(NJ-#(2T^55><."#YXU*04[BN,.-Y= MP5A')K!+'\2)/[;?;72GO)A _(LV5V)L5"D_5<]R9X-VR^#!B[Z55^5<3[]P M7!+8P$1SQV&#?0?T02-]-5T&X6$G(L\I;&"CH=>PG,C+DQ])*F_CO*'NE=<$=AJ7_\VM=!6@Z+,WEG3E0 MJI\U'I9N\*:UK2\GKY_>-Y!744.Y[O!1OLW9+9:5Q; \LSZ)8U:@%*PWC 8; MEN_?4%I4[VJ;3PQE4MUS*(X.H(%F']K^U,RGW7@>!&2/-.X!:-V/+*^C!YS32U('^+8NQY1L8 MNU-'FF9@[T,::<2J)V.8TT@:&7+ M0YGV!D!UZ[2!LN\->+(,]T'Y] 8+&0<#H1QZ X9:Q/B=9@/]&FT,^HCA)67R M;J(HPWG$D:P:^+".%HA]%9\MDX LAW>3^].*N)#R<\PI/U8W9GR25]IL"ZUR MQ0TDZD:]T_<9+?#U]!D!RAL]&MN.@]H>[A^98&$?+%%<:O6,8_7]'OJ679!2 M"%9I3E8Z(A1M.GC\*M'FQ17OH&LUALLFCV*FK6V8#A"IH0JPVQ M6B]BMDL!','-,_!WIH>& MWH26S9C204YOPLF&[PE@1W@3)C9C30^1O0GQFC'58'>XU18A=RKD3AU?[E2' MMQR-(W&J8U/9:8SAARB5:2Z\^B>**;>.)P"&-N]4,ZGJA@/2 MVZ!D]8T'I-M:"]D.XP^O<$UD.XS;4-CSO>[Z00#@3.9SG3_%)@;)="#H&)V=P<@8G MYPN6&C"R-Y'B9GII2U/9NQ=HS*K64^.=,QK$7I--Y$VTU8BKADW:FSBK$5-- M -2;0*L15^V8<7=4Q&(UU5OK0,[<'9 U5H,-SEX@@^Y.QX(8[,AJ!3+O[ORL M\=LU]5) MW7/($P[UPR4:8_!C*GG#0^S"_.(T)8GXG$2[KWE$ MI^(3C;_.:2HFET?XK^) XS3'V^W&[3OXWH8J6"1>>=9EL:#9G7S&=9&+)V&]O^;KE+DE*X)+ @ M8N<]14N2J\['F/1QS,6?!<]+B;ZG"O+JR^/<8IE%&>?RK@PA23/- M!(.U64&@MN.BNK/$)AOJ/^-\?Y69@NK:-FX#HXIM0Q(DJ+N>RGQ%Z0$4H# 7 M>N2AR*4CYI[>H+KZ_MV.ZO@$864AGB,F+07%$5908\H2/5QR M7N#DK&!">"O(4$FWV8*P'\DCC@_ U/F3L.&)(-F*8=U /O KR[[A+EXP8"#W M_&Z,_O-G-G\=/[4-G=)[SS#B!5N7Y&BW?4W+H=)%.LBRL-ASO MSZZT6:NP M>'JG20W8:F, >J=06_$-MHN\ MR[3JXG4WF[_>Y63!V!XD4.-=EI>)^F[C(_4N^ZMO(>D@7NI=TAALSC31*/^2 MPF L=1J(I?L3E^R80 I3C9%/C9*/N_ M7P@3^H9S2!<_>!#SG(J= MBDP)3NYI)4>:$+7U.(-SVU18 -3''RYJ5/FV_206]D%Y9\Y6 0K,^4 R73"W MUV>%S)!0B7QG#(6B *$H0(B2].EF,-C)1AHQ<;!;C2WHTJ_Q,+903)=6QMCB M,5W9R2,-R,!-K[%%47IR[8PTIM+2$FUVGV^^E_][$!,JOOG_ 5!+ P04 M" !#A'!6R8/.:>R8 :AP@ %0 '5F<'0M,C R,C$R,S%?;&%B+GAM;.R] M_7/D-I(@^ON+>/\#GO?=;3NBRG:W[9GQS.Y>J*665W'=+:VDGKEYCHL)%HF2 M.&8197ZH5?/7/R1 LEA5_ "2^*!Z+F+&K:HBD8E$9B(SD[-]\OOOE^^_MUR^1__EL3IKW^$_ZR"G!*.1)J+C__^U6-1;/_X[;>? M/W_^YGF5)=^P[.';-]]]]_VW]=-?58_#KU'1O-!^^,=OY8_-HR=#?_Y>//OZ MIY]^^E;\VCR:QUT/\D%??_N_/KR_"Q_I)EC&*5 D!%SR^(^Y^/(]"X-"D'%T M"J3W"?BTK!];PE?+UV^6W[_^YCF/ON)4)T22+F,)O:5K O]^NKWJA?G3M_#$ MMRE]@&5Z'ZQHPG$60SQF=-W]7I)E!Z\!'C\!'J]_!WC\2]=HQ6[+>2./-]N$ M?O7M9$QO:!:SZ%UJ&.7N8:W@?E<$66$#^].!#>-_SXH@,8OYZ9"F<>8JC!K& M^61(PSA_I(;YXWA <_@B$"U.D53$+H&GWO._J@=AP &E*N!5*KPU,'TN*-^/ M*JW9C,W"@TF4ZRT@^N;-ZS=2R?X+?/.W"Q:6&YH69RE7%D5<[*[2-P2+*LF?#!ES7&729N:2D0Z)7]&^#1G?4?ER'*"YSMA&A\A, MFW*2$!R)XS4Y8A7 /Z\-C760K\0,RGSY$ 3;;X&'OJ5)D=??"*Z2'"6_^-O; M,H]3FN?G;+.*4X')+0W90QK_@T97$44Z+_"S\K8PS&O$9O.=? MQTE8OYP?LR/;J#I[O:/W 0[H3\^!UET M&<39GX.DI&(J6W@K?_>\I2'?="_BIY@3(KKE.W"/*#J#BQ1*Z_C9%L\:)HDJ MH'X$T]TZ,V^+YTQ8+[BS\\3G\D0_,L M2,XVK$R+'AD;>QPI&GW#VN;H,?C# M_&U[+D6/:S1D33; %Z0&3U3F8DE61_F%Z1+.@V3\',3I>Y;GUVD+13HN(B/O M39:5GO'="TT/(M.DQ]CL)HH1X$%> 29?$Y:2 PFCQ8*(H(MGX1KCM$XI4R*P MJKCU>/A#K?&"%D&/UJ$&Q+ M$V#!>8@T>) &$5)A0BI4W,<"-!>!3:#L2W5/:!;&.;W)XM"17](!0NLG/+M;OEZR05I$V2[)5N/HE8$72%E6^.;8G4L'DY,J-=D M2>XD9H2MR8L0A\D+.R0>9E;+EKB\X1C\5L9Y++:>99!&RXC['WD1%V5&,0*B M-:)1D5""[$0(WG A.&OA0C@NY&*/RXS87F^Y1AD=L08OT^.XC?-?+S-*K]*" M PNMBW_8WP%;6U&WR\S M^D33DO)_Q;&K2%] [$$J QG=>H8 .MEQON<[SJU$@=SN49C11J.T)J/[BSJA M;3'I#]R4VVX3\4V0+,,@?URN$_9Y&;=2;A \BQC7* MKP'?"T3\(1V*/$3GG M&)%+CI'?O"RC"SC*[^A5L<7^/X+@T?A)@@3[+D@X/I >ON08+<.,1C&G'LMS MG(,]!8!1@< @XD0R?A2ZOD%-.!=G-6J$HT;.!6KDO4!M1B(R:6U'967Z@MD2 MFM]Q<>6[%F=*9-1I: "C3-\%R E3_XXS]=4>](R8=I#VHTPY3E!;3/?[Y0-C MT>,HQP_86ULB<(?EMN,;6E6[);;1(1=.6+TMS+>BF<0(J UHE'6 M5X+LA.7_P%G^IL)E06X &<'Y[VID9L3K>NLURN.(17B1%R_.RRR#6)%XLF5S M]D0Z78*>P96,/A1M2U]UD):3O;W[XJ]FC"ZWI7L::FOH3'BOTI!MZ'WP?!'G M(?=4RHQ"FM9;#NC7'J%3>04I+$-#VV9R"9MPX&0/G?P"\(E X'][X7DE:C,, M"6T9/S\M([I"&3F=;QHU9@X@.#%:?N)&RP6'.2/;I)O,HS;( .U>OJTAO"?7 M5L8!T+G9%P(YVR(BG=90PB6!!X_5[1J[,"HZ%LY:\MMWD%"4E90[(\]P#HS, M<1L=QFPJ6R\X-QEKWXEL'8$ >5N?$@$.T'V>]48):8[HW2RC,4D'?<-M Y%'-"?F5%N9<3;5(/>+-*_KP[6= ZOZ!-8, MC.D&)_N!BPK0BS><3Y?16K&4SK7Q*6?G3&3E<[3X7WD<0>5'_G6-^ZXR\=6% M27- FK OOST^)'%METV:&@%K?DTWTN[% KF1LNP M-1F46Z,ZFEG/9@RJ&^<&4N;%HB\%(J3-&7-R<)37:-S'T2.\L[VG91 .FU7] M#R(U^^F KJKVG$+&E.DQ@7_14ZUX8!*BUDYS3)#LD?"RIPQP!5,GE3M+*WRD M49G0Z_6'H"@S@='U^CU+'^YIMH&SR7L0QK%C?^PP6!M($YSU.@L5/N!'[#&" M3X#3$I 2Y[SD%X$7\9TW@%XN9FH-K)DD/RP3&F"/FGI>-FMP' %Q8U_ !:;W M NRH\;#X-$]* ]$9K2HE;TJP'GJ>ETM9HW#?9CE:6><%5:<%6Z;)DT M**VF,:!93:< V(WV@TMJ,IM$[,> "WGORU TMUCC:E)[!:QQ]1^6ZR#.ED\0 MOH"Z,^NZ$*!HZ).)A@$X]L:,;);/=3!PP_!P&P*B142$BT I[TM)7NUQFA/C MHY9Q7 +P:V--%'Y:YO1!?,ZH.( E81@_/%QS+)Y/SPW3 W9LG<2 W);8S G M%E98D'&&5:6RV\.8U7BX>J43K@8?\?70&8Q5@%..7JP@YNS$19@^KW8TR/*O MR:N_\G\]ED2UN\;')RX.%LY:8;SOEK^50<87+]D=[&#[LAME&I11# W*,&7R M\..;+9JGCX>;$GJ0E?M?-68'ME2#&7GUJ4;-L4A96]KQ GM3U\M&#>'*@U_& ML;#Z)!IP)9:CFL3K'6RH5:5+78=CRMC&:@LC<' 6_;FZXH+RYQHK<0'[OQJL MZIJK,W$[)BWF8 WBR2LTBWK$4">3"S&7W#*GZQ)ZXS[QK_F;@]?-(UG/7\^5 M<8^7O_K'T_"?8=UD_O"[>D[DDY@3@79]X@#LJ";#XK H WE5M7^8TY;I@QO- M%FTVR6*>\U[WN8GWW%K/US3+:-3G.6*&,)K;V@W*51J'#DZ8! ^[<\:G?LPT M77>$[T83=%4(ZZH4NRR3%,B\>5G/KGV4$,C4>=3F;P:4U>+M>BCYJ>J^K&IZ MD>IR@RS%V#KE(M7]AEGNN8:80+LD_)25=2)[L&,OA3O=XU9/%CE="/8D3143 M'P(FRXN12\"J+^PS?\G27FL]@<(MH(=TG>[\^KN"A;]>RRAO$\1H17XU$WQ, M IF<$F0"&9=)1#(97B!,*HR)0'E!!-*DPGK1"C>U$)]?_I%1;NC,6#*_Q&Y[ M*]3?17$>/#QD]$%XL*O=LGBDRTWP=Y8M 2'AQT)53[E=YS1[BD/^;8";F'F8"R@%JWTMZ]JV9"[OA,9KD? MN^,V9/\*:RPTQTB2R HT$$XZ',=^3$G";V.$U(#O8O18P\[TWG%99UR.4XTO)R]AU=#D#N*:AEG>-^ MT5KEJU3<.8RF;QX#@]K?23J 6Z^^L2^UT>PMY-6[($N7K"Q&A&8>$RYHEE.] MPXH:1=+"<4$.L"0M-!<'&J7&=.Y;\! KX_;CT>7RVENMR?6 4]GQQS%;MP,\ MW/=NP^$[HUYO\% [7#7^PAR- A>\9::MG F&F4<;NO:S&'U@#)K'!G4=6,VQ M6]W1TW.48'/<8+BEW>@2ST,:6UE5AX]%K%P5D#O59&K:%U8\,AYE61_IF8IZ M*^/Q\,&+:B)- O,7H DFL)IA13&5?[P>'[?O$[5/VL["(G[B;BWZR!@WL,%C M8CT$K!\-=QT'[^]O+:KCX 6IT9OS 3!R;4<.?:LRU)CYLBNYA=57]8 MBWUIA\#[Z%9[N),UU8QGN64EH _M> M?= JAL"(BU4,?+32U<-T5BUWX?1(8D_BE)Q7V),S@7V=RR &F:.\VN4D4]U\ MI["'9RT0T76;D<6N5:))<-4]5VB5-?\S'Z+(K](;FL4L^@N-'QX+&IT]T2QX MH.+'"T[.IFY%G\"W*>%)7 &J:>T4<^>ZY,97NM M2Y9QC%-9G#KY@40X",MKM?WP?.-;*ER5A19O"I% M=8-[=A,,%%+W@@-2X3C%U;92J9"N:J>'.U+L$25!@ZD7K>&'*=@L5MIYXEOK MGAM75R$8G4]&+:4SR!80Q_LSU M';3:G&L8 XG?[,(8FO-P!U?\)9IC@."?!C$EL-)L$G5L^BRR&VKTB M/^)3&G.;"^9O-%L'"<52ZHXF-M[S>/;X5G4> ..7E]:#90*-')])*_L%F!"7 M+%O3&.RH?'[V P:YV1D/.I-P$*NL?_/X2"@R;9(O1B(3QM;8EG#]Q<*MBWZI, M?,)(G[$%W-D?Z7U&>5K=:)_ ;;N1Y;*F,G\ M+%U]U&9GYZI/P=7!X1SFBCF&G />^FNT%5&MNR+("KVCS>NRX%HIC>+TP:I3 M\N41^UT:S9/4+\[_0^A?)]X?EH=P=-8SP;QN807-I)QJ)%%JS*,P?S9(7 ^,V>'\#*5,VMV[IAL68 T)\\%S9 C M:;#JE+;6#?,[J"R3E31:TF?025"LYO@+5#M+Q,!F^U%J(."FH>1WHIN.P("\ MJS#H^FJ.7@-J.<<;.J+7Z OP(YK@P,=RLZ*9OZ#U(?S9^1!'>+Y\#^)H0O/R M'R93VTP@>:H'\4+)-BTD_$_G=O6I,+?!W:XEMV:OO5[&X@KFL@B>VW]N,_;$ MS4ID?6W]8M<-2[X;ECE"XC 'Y:G]C!0Z%&1V; ]U+OK !;H7/J&1U_R'%WH*8 ,+MY(Q!QLR]#>U]9 MCD#@1MI\)7K\MCZ><^SFN>=.6>?Q[73RXGT!.^5A[1/G.V4W^-GME(=HOOR# MZL/YS.O %4WK*4FN1Z6;_NE,E!XY]%!^R;N)LDJ"\-<\?&30WHT)%)=;S@S0 M9V/#(HKK4F,2H"L31AFQ69@T;P';Y9U$M^J81FXDNN0#H/O2;!Q]QIAB\R!7 M>XXIZ!=Q4A9:I9S5!K*?AEX!G&$B>H69Y51T]/PQI]$2U@M-1S]F35Q">B>] M/6RZK49VPN"J%5!057LSO>?JPG.UY:KB-8L=M]6(458SK#;=IISA"]MOM9EB MRG:+6VFW$8?5N+F_.C;W#XSZLS2"RP_@2-TS^*J5U7IT<_Z6;H(8=%.=4%,& M"638O!Z*2GV@#J"4BNPIU9>Z/? DU534/ZGVBNN?]TC8K))],V;2F+/[\#]V'C>EWSS0+XQS:%QP9T]4O M% XMC)R"R='N9[6A=$L%\O]D K_ @<@'T9I3;-RK^) MQ +S&/-MOMAF= :I9D@ I;ESD]N+$$/TZ_=C<5BEG;#8N-&UOM!R@'+_"# MZ %@"*'T3SD]N'('#\S_XMWD=1^WQ]9GBMTG#Y;Y4/WQ V/;KC; MNB86ML5--E,-VW@2>07EC[/JG8Y=/(6NZ)-6Q/Z>)(47GTVO,)"EG>44H(?- M0VX2\TV"5UD>C0U@C.8OW;]N'5;9J;^&!#\OG_D$S1?N'9_,9T9^L %:F_9X M918[*=,(+N1*[%]N>CM6(NU[L2-+;]\V"!X>,G'B4\= M._VAE4Z#IO"9K1?1@[?7G-)FER%QC91LGO:%FK=CO./4WE5B"&M;^A^6T"IO M*58;#@;6<1JD81PDRWA_$[7U;14+WW SI(22=$%Q,$"Z#*"R5IEE0Q MDX$6G[,U/CPP(OC=HHO!GLQ)HW?_*&7D2CTA64$S3CU9TXY/BU<_JER M>CPF[UC-TK%1,B"O;T+O3W8O^6+ ]:4X+?D><O>L3%7-E"ZRC[+'P@?6Y&2J=,,,U M0.CJ"DEN(,MIS*7<@CNA'"[8X'B5K?GA/RUS^B ^9U3<'N)6.%2?S0,H,[/: M+3=!]BM%)JX@!S?K$6LBX<:MA?[E=Q(M[HM6:%6EFN\ ,;+:D0\"L7GZIMBE M'7B35Y]J_+]NBJW %#I?O.!3F*4D M6V>J48EWPRDOIC)+O\OFN@3+!$P\U5I!8.PTQN1V:NAXT]Q7P'CLZ];B/PBVEDE-[%G&RM.7%;FW\$ M93(BI\;A3)1G8_BXEGMCB$_1#QZIA] C-=:DA?8">AP3@7G;TUR0"GE(?ZC1 M)SG@3UH3 !^3&S?A(HS*ARS@6:0_2IX5KO=R% MY4;F#D)<@0P+:Z8X.@B8] /W'1HX0>X$AD*,9>(YT3*;GU(#&#!.I M[8J0G?#$X#K.S NJ.P5<9^"P67>&\."L^D3Z:,W+-=+'WYZ'Y(*6MAVE>@Z$ MP34S_M(7X3%-$#YMQVDJ%TSTG^#X-;]GS<'I76VU=CI$XT]C/)S^45TSQ+!%/SKGQF+/L=)TMR4"IXON'\4 M%C$W"PR)"HT<=LV:+B8C#;4,K:*U[:RO!)[>6V:W-U]9$21.KN'K@/9[A6T0Q1=V?VUP+AXOKQFF,6+3E2T%!)J' M+05:&D6!BR:U5*@O7#\7W]_6<4]3Q#W?*7=8;G.@_.V+[(\9[^4 MV+F0/J7@IM54WRIW")'D>_2FA?3>"L(<$GLK5$RG]*)GB+'KX4[A7&R$7BY2 MS.#M)-R+2=31[V'[QE(&SP1,/*7V(#"VWI5BC](_S7V;*8QC,*%E,C>\&/^A M-5,G8)[\B5Z\G$KY#)/0K*ZU0:M8<0%?C&#^S!\LFGC_9#X "B4"^H8"C%.TOJ4P;EET,ZH%)//!BM$._ M@>*B0J8F=/];^I=0(5-Q.C["B=8HO15"?%<$6:$7E1CVG0S4R7R1A'R71C,C MXTSW,5T%9\>.G6&YT=KK_4M<$V-*L[D.S.RPQZ1/9L.CJO(G<,%1"V MU?T%7=,,2J9G*K%=2_RO16LVA8#...\F8R&ED2@1*6+.U^LFDKM>D9IB8FG MKA$S3'AWSD%UN?AZ7>?:CJ6W*+R!-<+[1W9V^9PS8PU\+ODI*@1G""K.QP'- MI_C91IQ0\QC8S(JDFE/($1G.GELS#, M2AJU^N8.QZU>=JN]YQ;2NF"K!H)IKF8\E[UI$OX*J)GG3KS<"2N([S!=.F MEVLAD.5*[X-G12'H?WZ:$)R.ZVIW[D5@@E28F UBSY-@20%PR3;80:#$IV0, M,,NI9(S1S*5DB*)]-Y* HV(Q\#!>)CH&=; KR!J.GCEGB)Y,CTCS,_0^-E7>(Z0=QSLH##2UPF[W$?I!?(.2S(._&9O TXV,I!4[H2-ELB MFTEBF79?;N;$F9:8\D5>)>S7U7:23;Q>);RE3RQY@EL5&8WBXC((1<;!!SJP M&2J]@]S8!L>VO4DUP(F$3FKPY!>)@)\C3S5Z,Q01G3':>Q:DN2PWE 41G/E? M%X\TNZ4AC9_ D,POXCQ,6%YF=.S0?=)82,9$P;3-L (IOH$#6@LB$!,5X@5J MI(4;V2-'?O%]A#]M^9C1-7&7OQ=LXR(0M=NXUB\X1CGWO,%YBMZ6!9_$7VEQ M$\117PZ?YNO8/#Y%,+89N\*#!%$D[PF3H(H\KLJ"I*P@.UIPASF._&3YZ:X& MFTIB=WQZL&6DY2X87"U7TG.'CQK1=')(Y[I.@IV#MCNB::^^ZR*4A]1@;EZRAQ2Z M.%]%G(/C=4PCF;58 M[#$F$N6ZJ4(D-&T+:U*A/;]<9[/D8?+4]S,P8)Y,[98TD<[AH=WU?\7^UIK!/7/:HK1=H#'J-!C>:#,%PG6?2A(4P;G6=B-HS5[QC>#O5 <:IZ4?=2BG :&H2C$V,R%KEA$QEY>K&U7E MT(2:U&((=TZ1Q#"_9U5X3/L 3'L K.ND#,B9-Z6,$V,T&]2L-,Z)<@X8IGP])*CQ1%%J_*0H2OV:GF:5V] M[!%@ M609'II;]W!,XGAWW:)0N2T@*V>4[&,HW\Y 8,T)2I$\K=O<:3K*Z1S7/\!>P-Q=Z!K2=6 M27 DV6/@9^=3H"W3)YC+6S50!7MP ^M\!G\S9C^6@[LO ,SOQM1-/:9$$G?Y MF4/U\XV4PW=3W?X0&JJL%Q)/1&6[>R;NFRJ@:BLYM+>&OM^2^.5VF]0QZ2!_ MO$S8YZMT#3U[A0\\O-EIOHT-:ZE!L7]I.7\4=Y+AA-_/!JA+;S:1B.ZV1D[I MC\&&#EQ([GH$NS&VAK*^+_)/!(#YO'[<23NF0A#G'#!X6;/[H8E;;<)VE+ZE*5W'!:"8C]VUQ R!;H^E#LKE+1AQ MYEAC0RITB,#'?YD8U/HP$T1W=V]Q2[, #DC?TR"G[V11Y1YV'7P6>TNQ:TQG MEQ.[@*/N))J9!>8J8@V9"- +HC0+6[<3!QF$:='+F0344GE'LZ8>*;(.#RF)UO!R)F"R8"B11P=I: M<*9S[9D:81R>?A8T26A8E$%2)W,/'DF,OX ^#>T;V/ZIZ!XRJ4'[/;I0H#+3 M)YV[3 U:2*Y^S_+])9Y[5N4Y0VKW(_2]S7*^!\1A7_H&;A1L3H<>-%<*6!,M MC(:V/G.$"NAM:;]>#Z23#7P)#90=CJB_>0%"9((F'YU M_!!!F0:5G/'*!YH]<'855[]R>W/AB:;TA*70)TXT^:R^5,ZUS0 M-862\4T>K$P2ZD]5'G\!J1WZ![8M\37DRBN0.F%2!N$R?8NZ8J=E-K]=M M%K^E"50[@!AK?G*_:=2<,S0JEBVG0;=>JWA8 ?NWYDRM'K.T),Z$XS).XX*^ MCY] 8 N^0#'WV:7$OMU]"/[.LO,DX.Y\?V(:8@0DTVM LLW@$I6EP(7LD:E+ M<*]V1.!#!$(^4]\PJ\,,D'P.#+S';S2S#CF*>4;N@N:7F1<'K.P_A0^[5&I< M/4Y_ATF JKDK*5A*D@,PU!S/N5> M\K[Z#>(_]QS/LS122D"W"=4V+%:-K$_)SHLS L-Z4(89UM6%;$_Q"+K^]'CPQD MWI7N >C*6=''#"-/5N<_J2SP'CH)E"?I/F8PQI9J80,E6L]!G/MC!VHOF1=3 MA_RP,BQ]J7B_J/H4BQZA)D#__N0.3=\]A4D(!N)\9BS['2=(C,SJOXK/$ M1T&XDA\57#!29&>.2%MQ%?"O0E2*C*5YZ"? M(+X017$3\<4G+W$?G4185-H MZ4QAW#9%VT52\R8; MJ]&ZA'6O&?EZ/')1V3>F M/HO^7N;%4-\MK7>GZLDA&"[4Y6>6_0KJ,@RVL2A0VH#WJR*5:-^E*=4)ZIP9 MJP9VT469<;P&>W2KO#*1];J&MGZ\7<&$]LVK,H]3RGV(D&U6<2H/-,FK.TK) M1U90\L9/OQO_G^M60D_LW?9(,K*FIJW4+SC.OU MI[P.S598>K+^2@9(0$I;F5.E4TAJ6TK]?5-9)[=A):8TQ4ZTJP7!U7:"&%B??;FO64QN"NBX+]6YB:=Z=I1$D!_/MESLC,6U=XE"BVQ;> M]/#8K%I#:#CK,6((7U27$O>T,I5W%K7P%>K%>R*:$/GSZ4]94 M7L%V1Q@8VGJOA KV@FP!NN!<6L-7R.1P,2-DF:-\Q##D-&YLSCB M!QIR\:P?[4](),/CB+Z\^1:?+C856^U;F$JX6G8'ASR]N>T\0PDV:B^9WGV< M)-<<[3^+.6OIWF0;'1(ZX[3W+'TH:+:YH*MBY!+AT*-(KNH:TC8O WI+M9Q^=]Z1'B#K#/E#O+/2=R]X\4 M\+_B6*=%_$1!T77G[JD]C3E_ZQ_5-G/ R12\2QK8HK&78AJ?Y:G@#MMNP6G/ M12BTX+/+Z!:<]?2! $+%[E]S\E7'C+_YROU9FP(S,4VR3A0&43U ]$J_9-E] M\ SE.:#8."W%;'#21&5?ES;F7MU'EM:T%PGQUUL!N-<,TGP5H[P5 M0=A6TDW?4W#>6XA4UQTD*GASR=HL<1JD+LO%Q2XHR ,W-*04RX8CTIZ"!)\% M694%25DAOMHK@P6AG*'A24:V51(G8>)C3I.$!"2D6<%->)*6,*^6'H"_!$DY MX(#K"QI1L/SCE*L'J3U [0P8M%O*$>E(.N%+ IBSY1V#_0 M* Z#I%^D.Q_ ".[!0/9;8 A@> &\KV&3/7"?L4(E.C,,\3QP5[U#CD8055Z9S%VG0SODKL98\!I, M5*)S)W>-$6_BCLN'SSGO9OU;;O<3F#WW<"3[V882&G[7G8JOC6VWF=6,]MT> M#F$*9'19PO$\R!]O,O841S1ZN_N4P\7\*]&2&:YNA5S8XB*F^=DJ%P+7HS'Q M ^&+06H"M"Y9'!VR3MCG7%:,C&M42-#@\D=?]1>QB\/,47RB2CXKN20ST/W] M2KGO&8Q:/A[+^LV\!AY>-4_'V89R;LUL1NJYEU>8$C$GW9C8C;N[E%:9$S*G1:.A#GK$T#GO:"0\^A(HP M'P]F/9:\!S@A8CP=:QLLW9[;C'BZGV&8&CVG6APT8_DV""FT\TOS(;MC\$F4 M]=$YHG4;I(9*_GNPV?Z)5, G&"2&IF'%+.F9[(PD8(2OF :5)\I";RKI.V[[ M;^"^#?<&UF4"E=WR>]'TON_&IZ'A,%(U :R[A..;YE;(N_V%EP9!(C$D D7R MBT"2*%\,]4T39 F&8%4F04:B_5U8.#B$[(*&+*4D2R+( OV4AF[9D$>:-(D+ M(=ML@W3G0;Q-2 $SO8S.8D_O@@S4<7Y#9>[$V!7QT>>1D:3><:V;E!5@PB%7 M.5'>KWB/$YEI4\X91QV7Y[M*KR&AX5IV:TD?WL?!*DY$B*J'QQ C(+E. Y)M M/A2 N>9L 'HJDJU/>F: GE-=W_6:AO*\L^KU? 6\+&N<)]#*'<&^9"K"B_"70,P"XI=E5FI[]// M@A XPZH"%SPT!E44\^E *4G*251\IC2MDO!%R;@FG90^;X6O]*JBX]?2ON+? MAJ-/@KU5%C)Q--ANDYWPR0 V?X<;*R%9TXA+;4)R/IV2L^2N/2 79YECNLTH M?*Y^>L4-P_SKIE<7%_E2Y+HVG;I(4!19O"H+83%7/F"+%>2KDA>J7-NPG9L< M0O-R'U$0FX+/G#&Q1R/@+ RSDD:8W;__56/;_BD(?>E_HMF*Z6;J5X!K"46U MLK,S'3VMKH/+?.:(ZF@B$2"O:E2^AC*>]3JVT%D0?QV1M(1HT( ;([.[VZ=Q M2J_7YQF-XF*P-4#_@]A;IR<#6K]QRB&",2!A^FT),$!.IDXCESN/W#O?28U: M[9;]F\W0T_C]I6M4^\>]QP8?4M.:01[;0JYM9VXASR7W521KC#N8)M6FWBTM M5WD,/Q4Q.!'O-6A:'J[R@ M?#^_A_W\'N"/VC<+Y780/&147A6L7O47/%=@,J9)\*GUP0]4''Q_>>GWP&H4%J9%85*5.*SSPPF1E>CBI:HY<0"HV+$UV M\H(LM]'9>AV'5-9WS?G:B:MY04$>@R=*4@:GTYL@E:^F*;CB+&VDL\C*L*@. MO0*R*N/J&F]&RJ(RC,7 ">/?P@%8M&C*/N[;'TJ <,A0(U7)=77Y#W+H"RJK MF\-H8FQ9)A$ QZVS]'R7%W3C(QBB(RL,RR%3]\KPD48E%&>N[PK>T>R)+W_W M#>&S1,@S_^MZ#0&7AS3^!XUD^P*(IN1O=V<0F82;#N,'Z\Z!HW9R5TA:-PRJ MB8" -)>-J[GT5SG8SP?>V\^(R"D1,:<%>;LC8EI5T9_I)_TS)KOIO(#@@,0C M05U0M(&X,)UR]\S4;4"$CQ1Q]6Y82^&KA_*A2H/'KA!)BH$ MBVBZ8!<@FP][S+GF87[YVF]$6_# 3; #!'7"V5WOF8QEM\=W%\B6$K&58(T% M>:?-Q6 4NXW(?(*ZG:PT%M'MI^G4;-U:%4(29,;=U?O@N14ZAEXVHDE>Y^FZ M]LNHG%Y5($Z*5RECHY_T:V&>A^7P[W&5M\%!6D)A$NX>2IOTZ">^^[TF#QXEG_2#;=@($:TSQ'(125V&/"4 MH"<#17R3YHYM[UC"U F#+-MQXTA6N:H&?PJ2LFI@P/?NSV"/.'=PI%(C.H%F]'#30L?:8%T&@R5R M,@1.>76MCPU$T?<-/(:+<6+SVG\W&ZM!SP6 ;>@TH[KA=OBP+EL'1^Y27G_ MF29/] /?^!Y/KE@Y >9U(SE&ZF7M)\?8^U.UT^F(VUV^?\E3_N?<9%*(F_RS M[#&]2L_X5C/,CG/9<<2&^)G9=U7V,/P[*I_9R]I6*J0]&^X8JN$VD1]>X$S_ M.?>.'(H;_)-Y*"U-9L<_.6:_J6=6-%E?Q2F<&$3_28.D>+R"#Y ]<".S*^X* MMGW/\OQ,L%_G015R#-3IE"8L-UTJ-9'2/X&R/FM,'TJ.U+)"BDBL2(,6J?!: MP/'RE@!J9+:3-ZR>Y94R/FLHF".Z.M94XG_G7,E*)2PN- 19$0=) F=F+6H^ M2FK$K3"%K)#?&&[5L7&C<$S&JB1BTB9A5 M1 SVT_!2E\&PE#"KB^ET"X>;Y]B=7/G="1OZ* PG/;3D/1#^!]WCX6VG4R<[ MFT1+WT62]Y=0T%62!X$U+#Q M(H::;,:FD1@E>CD-OWE@3]]&-)92Q__8"QO_\+)L'#D3SU_JXI M,B?C6._O5 ,C ,TI<_33C(T2PIV-SIDMHX^7&R!Y_'Q>Z,6^+G+#HV:?M^1NS [6&L:U"X@ ; "$!SO@%W4HR-D<&9 M%OR40PVOJE]97_"A^R&DKCL9S2O(]CQAY'\D[?L*XVR3[XF!W2W%P0X24 M3EZ]%_U[6$HNXGS+\KBN'.)Y6H>%IQ 3@WJY@;P5_H$E<%7Y,E[1C*R4YF5) MT$=%@ND2T9GP?Z2?J\.>.'VXR5C*_PQ%(8%S<,LWK;/ MEH_X#3L,DKUUP=EF[V,D%J+\1I#51>[V2,V&Q]$KQDPM@S,>OX?3E3+;B;HW M(M2;GX6_E7'66_1!X0TDYPZ,[,J0&T !8_08G1'"G*OAR])-"UD$A^\I-1+D M%;>*1)V7L3*;EB1-A9D8@IX.RZ>LBJL4^D* /$MYC\.;8"<^9G$:QML@Z1$E MO9?1!514@+BKH**"#:Z$BIUYHFJHK JRQV5!:FQ(A0[_1FVJU@JJ:#$>FT9E M;\$(;EI";;L=U'PIFI8PBJ&)X9<-!2JZ@?@*6W1C8\+;GSS/*;[_*\#F:WG) MH@H!B(*GVPJI!=D"6K*_@]JL'<4"1GAP(#*@0G"/>6ZB(E,0%G^)B\=S;@RS M#,--&:25:;&@L.)K9I M4-^9Q$K;^KHL\H)KQ3@]3KL9?0XI=2?CN>*^$\ 8R3* O6Q<=%<$6:&G&=Y6 MS9&4/3K+4WB7:N[2VA.P)./]+,V4R>0R667#TI8[/"ZR*J_@TU5ZAW:0$+4! MXTX&.B0#$;:'[YVOE.C.,,3T?5_AFDM\ *%\60E?V7P;>MGL'84C()YO)QQA M8_!> GZ>4_PK>?D@4)B,V\L&?:PU?LU@D(ZV,JSDO89+4>,$*GCP'?2"+T97 MMM7(HYC,JYXAK:OMZKZ*!$P ,N&@"F0RQ/,>BW01[G=UO.SM%U M^N<@$XV';SEVKY6BT..O&XE#]X/Q$XGNQV=Z+-KD7$U$HP4^1"($ ;$:)7+K M6NC0+-@;D5:EM2?AO$KY M*\ (SNH&LM-#N%9B/!0]]-,?T!C CH$" _(CJ$ MT70A-3M?$V):8R3$$LHCB=["JG-V(JE*W-@KJ^HD=R:MM<9X#\8@E%+K$ MYY"R=S*>;1%K='XB;A.'OEH[]!.2*5/'&7>,<84I;G#&!2< ,7IT K:("SRB MV))OKAWD5M]<>NK3WF1T&\3147_"LS02SJYFU$9G,&-1'!6@_J(Z*MB9B?(8 MIL.4J$^%2MT-;"Z1'RWV'(P$Z=/:F8@W\2FA:_Y"XX='J C[Q+]]H!=Q+G*K MP:RJ#*H>X<8.@Q1K77"N!%H7+XPHVY\[PN5HD/(BNVCN8Z;(ZMYP'"E=T/O< M5$/255D" 5 TBONC7\-LJ/; "%4LQ?\-:X"83)U"[OVBX8KO:D]/]9'<5F478&5/;>WRZK:=IX'JWSI$<\9& MM^#V7Z\_Y51$Y:Y710!MOZ_2=\_A(R_C%-(+Q:(C]TTF3P>DA71Q*J "X0X+@0H=H!+T(^'2^ M9L;7QK)S=%-?1NA)I1Q\;H)C=#">,[>H"JUX2Z RZX!.!JB*!I7\@\?$<1.+I:D2E59@'@>)MW3#\:]_!'^A+X48.XR- M@\0.<+,X2.S R_A!HI&Y3SE()*\@Q.7G@A6:"57/$T>I:\F6>9<67$-05@PQT/9%AX)CP! (B$Z-UMZJ<=42&)UU=]M:/; 6>[GC'TN M'D7EM/38]%!\<+G:,Z8HL:-I' 207=$XL,TY=I$LW3'83+(*3=/9H5'S=R MOV _K)_;!'OXT^\.3)F+B9L" %^I:;*32P$=#--[!:"/;8(DZ:E"/O(4>H,\&,W1QBA@*E;DMK8? M=I.1*=+&+A\\TB09LY>Z'L)S06LP5TP (#W;1)TT9&J$L:SFK](URS;B^.$] MY[^K@FZ&TF.&'I^P#70-ZVQ;: $GOP!X(N"[/6!4)C+3I9P[!A('G6K,<_"H M&<810_IA&@%Z%OQR2-=^7ND@EM6MYJ9<)7%XF;#@V*,:? :]T;3&YLO]!(R$6&-#ZGG$8BR"_ % _Z4L#U.R-/YR2R*JVJ H'W=(M MR^"4 :H>=&9LJSR.UA_=PSI2)'7!IP8ZD> ]J901$C-=NGE2,A^##;U@<#RE MI&I.'S>B%>Y50']FLJJ(_LZ1,BR"3.V:_#NIY M#JU\CL9SI'4:J-*0\:5M^HC)E"GD3+_4(;MSMEG%J>Q;!*U69#? 6YI Q0#( M .XS;O0'0.H@=4"VF:T%5EP!0.6\VIP.XK"I1H>T\*D:"%4SK5 2J>Q^TK@0 MK,:F$]RJ>OX+39+_F;+/Z1T-<@9)9'E>#J1^C#R/5M<]XSI2VP!]^2N )S5\ M(A'PI,#'R,RT:>>\M!E40Q@T%?L?G%C<;#^@L^IF -*O63A S8X*9WTD: MW]*0QD\=AR/(MXV5#.N$XJ]&6"H5VIVR$<,#K6[)P07O'/?CG%Q8SQ,FF.4RR7/*[R-"14(L 2#M=7@D8/-9DRB1RF9&PSRK6=.$%*H[,- MI(G\0WSLS['T$KV<#A'.G8/ M5.0O>=*P/91DJN1QIE_/HK^7>0$94_D].XLB<3X?)#=!'%VEY\$VYG(F6N6^ MY1Y1!!>.:)H+]A5==*^WH@[9+95G^_2.9D]Q2&49(NXVL8'%M .*KN.W48B8/!+KZUY\!%)&[% M&#)(;H(<[((16;Z68Y9_XU;(!AB"*1#M!6P_MY3OG7%8T$@(Y2PN0[#HUMO6E&!)Z?I 7Y3&56ISI"DM*13WO,M*)&LWI%A-? $0K,< MC62_O0 '1VH5XSZM:HAX3($B5G<1OB5RTN75/^_C]"1O2NE9]/[2,::CS:8" MN:C_( "<7*>^8H]#U&5:)'/G!K;"XM?K*^Z)IP_Q*J&#;9357L(Z68.#._.) M!K% N3"&YX4X]&FC '[&'@FB,B];+H8:-S$<*5VHWG/^YW5VSS[WV_*]3TY5 MN_L172M=@$Q81@"V7X7;0=4N==M'*AJ1'PRSQ]1.YBGT'*^;M@\78'56P';N$HO&'J>L5^9.OAAM,H X#V>4M' MA/M0"?P>O8"F^88JW]R-Y8R^=5;15*#S%7'_F<,=<]W 4HLYV( MW?\Y2,J^VRS]#R)9Z71 5V[G*62,JSD)_RD'6C7@ZM@J*$3AF 5Y\]/BQQ]_ MDF==.7Q]04,1&"7?O^:_\I47B8?\CY$+;I9D98"#F#I9W05MDH1]AE:$ERR[ M8.6J6)>)\MTOO9>Q01PE(,Z".4K8H((ZEN:Y%:>2W'[,"LT03XT069(5?8A3 MZ/ $L1XYXOSF^"[5U#'M&5*N-!3G9BMXI2=-;!I9[=X(89M-E6@GCM/SZ[+@ M[F\:<0[J=3U57L+?%1D8W-7%$8$"$3AP7U1N8"TT?-TC42$[P]'2V39V%R10 MF>*)IB7]2(O!D_#!9Y&;5.>8MOFJ@D?>TC1\W 29Y[/N8;HR+6*YLW].U.0@ M[XP]CK5Q>H:U7Y=1PB5[P'YY:)2^3)=H7HM!<1;G?!#3ONB8TCL&"S\U8_LL M]]0@8:K($V96TTH[*4[!866G4ZX9J>?40S1+9N%]%H!U<+?;K%AR) R]OR., MO8-QK%]ZD,"(A.;(KPM VY6)PC= M9!\^1AB@I4?&JY'2.U#H>BB]U&,J)'$7?H!8B"AB'5V4&=]WY540&1UI MWS>MK^]&?;$)]$#8P(4V0&\WG,FK.*W.?;[&N Y6IWKH3]SK)U0V0!?UV5:9 M1C33G[RMZ Z>,YFY-7!W8@SQA+&B;-T/84^*#P9S=DI\ !5U0CP1;T3R\4=6 MPS%\#S M8,M_*8ZK=DT9 BD .J!'6732H'D M[AB;)GRXAY]I2K,@@8)JT29.11FM(GZB[YX!P;Z<([V7L>RK!,0ZQTHL%N1! MXK$0F6W! 2J$2ES\V$&:B\&F4=@9@XHL^YP+2$<^30];JKR"9,:AH>VW!*I@ MDS7+!*^)4B*AM X2EOOB/"5Z,PP1?>_O(AO4Q/:N,)#9W7T H*_-?4X;NLIZ MC._GRD1VQ\>=R)QE&5\@48?H[6[_R$VP$^W%/P=95(5Z?H;JF?E5*N?W<\:5 M2A^CVX.$E03S&+ER;2V@CHK*SH&""$=9:AR!%6EC3EJHD]6.M)^KT"<"_P6I M9K @<@Z$^R%R%O -GX=_S\2BO#&'+. UX/:>0AQ_\.!9]36#@;7V\-;/$?MB M2A()OV?/RK0?"1[U$]1=+NM>8G+N47UD:;#_YI[_E0>B\GH^G.**&P6;^:H' MS7Z.1,)?8)5OW5;EHII]Z_-U\,[0B#K-M90+C[C;X M_"'@^W<<)/E'6ERO;VE.LZ>!E%O5%]%YMV, K-\+"#Z330W94X:J,I$9GG)> MM_6!!,:QQPUNXVXJYHE=&OH;^,Q/'*7JR ;M,1_Q?1RL (>8@D85COTC2SA1 M\W>_E4-GKVJOH?EI>'AW9ZS#>.#.54W/K8!F-7HNHNAO0Y(]*L*(R%O(_"NA M"E.T)E"*[,6P='5O#5S"&<(CC7YF+-(S!\;?G&H/]$.P+6DU9/( H/U:! IT M[C()5(GGGN7^PK)?K]*;C(4TUV.Y\3>GLEP_!-LL!Y AH+65L/WRG *ANWA. ME7K.>.XBSK&.#_^6$Z.(TY)&UULJ,^)E_4KNO(5EEO'I M]/"B@1&1/#H!LBO#9 **J#Y^+BF"Z?-7X4<$@@O2H$C:.)(&R455"5;T_:L0 M]=KTSP"O,PO+Y4Q]@/;B8!ZYY79!GVC"MA#2&4ZW47H'J0(&QW8EY(-(8,38 M\*P0@EIC(-R-%@ZD0L*G$*KQ$T.1TZ$@%4&^TYV<*/@:YKH0'-0ZJ1&AS!Q=A.V$1*Y;+Y*GJ!6A1DB MM3OOA:X*,(\XIJK#(QSJBZPS5J- N&I"L>A=6[QQYF4.1I= MD\&:1VJ$=AG,.]:I(TRJ\ 8^&-QB"@.Y/7-2-2)57IIZQ># G&]BSLBF5B-UUSC(?ZQ*\?.[_ MOZ4I_Z.XX427H=M+EL&'ZGN%8Q7L.&BW1A.>,ZVNBQA*U]N?/:9#GC2EX-X< M8$%J-!:DPK?^1OSLR0O$LBDS1GUGLMV8?^_!'*P367:CLJS\'E)V1\>W+:L- M B0!# X2EI8D8>G#DK/_Q@N'JA.?H2GJ[J)<^$BC,J'09[+:^LXE0DK5AG1? MQUYI4P1C_4IGA8?L+EIALB 5+MS<$=6J?1L]VHO"IE+:I3%$.3:1#"#?!\\B MYX__*_-J^]*;5%_#FSJ#P^NSY1/-5DP[&:)"@\0"#U( (DCCQ?!\T);:(!Z^ M#!0U7F)8@OHV/_2,#CNFAOTB$C0'E?T$5]=!G9_8&8M]"').9H:&<3$OKCK' M6+3G-LW9\SG8LDH^IEL6.R;Z.*=U4M(9P\EP)M5A-Y57D,PV-+2#I'K1.FQN MC*9$;H:AH5\F&W74%=\RR6KNG/0A;O/KHJN2?8SEO+OGA_KV-GYX+*[7GW(J MPEE*6VG/.T9VTJ.Q76^DM]>?JL/A&>R>?73NW3P'B:?*8.6:XPA<\_K-]Z\E MY_!O_O8N?8A32J%"TV&.:G>5!8U7=/E&86CKQ=OWX$^RC]4:B[F84\3"$M[O MJ(4VF-FZE8Y,3HI'RAW_-XR_<2L].LS&,-1V M=X6:K%?%!7;&V-E?\56NQ56TKV+Z# M"MH\QZ82=^).=L]8(J7^0Q ^MBAQEF)Z='5BZ-ZPW?,,-X&22V>"FYJ[SL&G-23L=VX MJ,!089 _DG7"/N<$EIFLV\XKZI3$U,2FM/ULX#8[#(&ZR >..5LE\8.0-3]^ MDAIS];CB(X2=AZWW*8W@BFV9\O5[]PPW\\\V\ EC^(V-9<,*[(,Y"Y.P#SGC M]J$!*DP19<#MCZ2^NS!K0W&41U6M1C62^XWQZD1V;<1SYW 26FTHWK>/P5-0 M!>KYRU.I[B)5F8>J:2K=;YG*4CDW7F,PC,Z6'?882 M4X8HYU(/QP67X2= K.!4CE>)C)+#_I 5\3^$.5OA>K;F6^9?:9!=\A?ZM?74 M$?$Z'0O94=K8_2.W. ( C/2"W,T/IW$FH.AKQYO,K,S""LW#V6I%&@'->PYS M:H3]9!S+H?8&WBP<>6%,]>/LW:F!OD0$7[O(>\LA?>2KYH! MV6T/XT!T =P<)1?PLBVXN+GCY/9W+TEN#W@0*;:GQ/42^E!+,U)XPT 8Q'&* MT6%*F^<$(Q4*]\0_C"07N=T*^ITW[# NM@*';HPN7M:W M3<<5O![U_45M#C MB$TC[NRD5B7N,FDLR_+K)1:!0LZF)$^D D*<]_&FER+4HR$6 \1V9^D%<28: MMG[@6):9J/YSPY(XW,G_CEWYUGX?:P6JPK%N$W)$B,"$M%!9$(D&^:7ZU_>M M;_UU89.)/=,3 1$"^7D%*""Z2C^SXG]@_W(/WI.+F+^%7(O(-I_ MS([H.'_G>KC?A*[733&ZJS0O,I%7FDNE,[8!J;P[=?,9@N%PXV'K5M&^%B+S MW864%J=K!U*G^)QWGX%3J8FCN=N!<&\9?S*/HZHMSBT-*>!]R6E3OW:2 M-6]K?,SU%)-XV*\1*M')2<3WM(*1L(T2R2J<9()^6&.E?=/%+TEPEV-DWBOL M\W&%H"B"W:3NB[LQT.AZ33/1,I&PC$#CMSB4E*P0%K4=/S_&X>,1<0]H2AZ# MG*PHW=//T:8,YLSEPQ\M8D^-W;DP.E_D"..Q>B,'1 M=\9N8DEF=[SRD7MR]Y]I\D0_<%WVV-O8?>)PE@]9CL'.[9SE&#^;1RW3:8$[ M//W^I9RS]/(HXJAEF-ASWL1-9;%[26!WG+L.J0&.-O'9)JR_H%QUK0>TS&59E!GM MT#5:E?!-@IA8+=\$*BXKZDMLEP)=LL>W:=DN429MG.OVT7,KO6^4"SK*\YM? M6G>R2!] *=S2+>"7/NCD'FF]BY4>%1C6Q4(B01HL9G?0J[<4;!)]9^JM*49H MS SJQ'N;'J' >G'?V_?B?(6BIF'Y KPZE;"-R:5RIPY81N.'5!8>Y]H)SM^" M4%32@O8=\#&1A;444V>GCH=5 EBXUC.<)&*DQHRT41,U -O(S6T+G+Z%OF<(KZ2$]QIL:9+/@)G2F"^#+%4 G80L\QG4W-1&<2]X-W4\<;9A-F![)9A I^Y33=9F\C]?Z M60RGKQJ/>NU!V.:UOU"HP4&C9<"%+7B@I!2@N>FRIN05G(=];3;F-65JB /, MP=.:!9'8D/>JLW4>R>I@-J5X51^9G8E>4ZM3+>@T]CA2Q/J&=7"' 'H;<\"S M.Q(9I333)9_S _+KH7-%S8[PVB--/.[6@#B?4^VY'5QCEJVS?3QR+2;&+^N; M'5>I4BUWC5LH\&0JILQ3 DGB@E M==7O6_I$4ZCYT==0:_!!C$1T#FA;#FJ@I(**[Z%E"/VIW!_5$XJE,00'93U7 M!;<9B\JP$(_H7!<\N2 (DA;GU4=0X!YD:I@=F?HB.;.K;FG.79_P\;!K977* M/5CE0N--I-VD ,&V9-8HG/1EK;"8G8FOLRIL JDG*OBSZ"F YJA1' 9)OWH? M> RCW#N&L\U $B2I8.(5NQ'4C;9%S&@")XB@K \F&20+[D6$WWA0OT/LPE0) MZ; %#Z=K& MJ\K\3"G]P 6RG&_7H7IU7T^I@HT%X M-H6:;L^,\IL@CBY9=A\\0T&"1Y9$6\21.DTT,<3=S01U76 M:8"(P,OS. &;5%=MR%G&+?^'JD*EQ)P(A&D2"6.?3X"T9D"N]W[#*^Y Y^(5 MU,F$93I-R:SY2 LY,^X#%44BR ..%'1:S.(0]EGN#X6_DC*-^3ZL3 B;9X)8 M03\^,9RT(A/MT+O'>+N5S9'_DV\P_(6'(;#1^I&) MEZO(2LXG)[5%A6C^#;GJPV1-J825QP^IP#R5@1?X+F5%/PX+$NVI4CV5DQ5' M16:CB5WT2?U(Y"L']H>WSLU=("O_@.ZN@L 9M 5V?<*/$Y'TQE M['P&R6$'8[DR_P^ 8NS5B5BC>\16.8P^LR^[%Y\IT<9SMN7UMO+MK_@LN>'P M1&\XC8YB!$^V;FH+(6! ?8YB$6_X/B'J6)<5X3K6B(C MS?IR>),1W:7J'(.>WU7P!L4OX 9X,Y>977#&T/CP5.I>_Q"ONL]0!,^SN_ ] M@>>F;D?M^]VQO/4ICR_C%KG^Z2YMG^HI-W>U>QAAUMM)G05Z#YSB?DOI!#^_ M;>4 S2]@:SF8S\S4*9;64Q(?FM3W.>XO$YG/6!;]/^=FTJVAW&PH ROO['BA M8X;@Y5*-KI>][S2W-MYW7,DX1@Z\AC#$9:V-QZ) M$$0MUM!2\ZENJ1DVB!W&-S"GB?,CU91]PRS%+)T4N98AYGFUG:G&^TQT =_= M04ZD3"+L46,#3R)53L>(MM5##5+F@"ZJU$_O6:!#M&4:!#/OIOV%9;]"_E6P MC8L@.8O^7N;%IB/5!/FZ(3>I#XPO-ZLC_6DPNKR05SF]SD$^J@\9,^]\Y5'L8$9%4S0,MIFH>_-*IJ!OP=M55P MMBESS#8L%5I>]$GOV9'['D-NQ\?#63?5!;QZ)_Y_O_GN-=D&E0&Z(&^^6WSW MG?A_O4D'9?'(,G!*_T1^O_C=Z]>+-S_\(!(6?K_X\0^O%[_[PX_UHS'W1L&_ MA\OR99$7_ _16('_MJ4AY (E._#^+V@H[BV2[U\#Q#=O_E2/][L?%K_[XW=9;,VDI??,PA"I&&P& M9YEP46%-4EHT)SA,? HYYE"D0J!.5KMVUE&#]Q_]),G:9 ;F[#\(K$7[O949_*Z&H_=ESW-LD1?U-;$W(<0BVY:(%ES2 R2\ VE,' PVJ MLPFD=,^ 77A=L$T0]UVNUGAS*@/V0_#$@!*X9Q94H'L7"ZH2TRL+YERMEUG& M575W,1;$JP:9\!B$];IT$%+^L[3H&]"*M5L<Q[XWI7N3QR&X=RA.OT7N45X7HW3[9,"7]\=F5\(15>>SP:5/\)4?UPEM5 M(&!V?'5$Z"&>ZJ*>#WZZ";+K[ ZNL4="R=Y06;1BG+?&WIS.9WT0W/)<$QL3 M_!:Q) FRG'"_4/*>=]8;78=N-E0CKL,JCB*M_I+/LBLK7ZT..VX0=&U''6#V MRSS*6QKBN*#&1S1H(C5&L[E^BEPF9H;V=B^=-HD%'ZK[?L,5WC]B57MB9E"I_A;!&Z"$'T=YVPSZWK MK?^:*]\\';\(6X>>XZ:(4!_\@JF";5TV@P2I?9D=/KI\*0X2LF7>SD$-R:SB MI5DM;INV9>=9T=JN^:?]5LT_0)7=>BTZ(LT#3VBJIXZ1'.R@<5YQ\$T6LXQP MDRAFD8_@\1 AF0)U7/% 9[AW\)EI?. FA-O/"3ZBN,/D/.4&KY'95M:YS%H' MWT(F:29\#P"5UF.[:[R)K@<\"L%5824%5# )TE9FB,A6:Z[$0"54B%:)+13@+P9S1V4)"-D,69 MCF]\7>'A5L7R^C*7AA]&:NON06USR3Z8U0J,B*#M/C0BJX;YZ1D^3&FF1SZK MZN-#\!QORDVO NG\':%"#L:QGCTD@?G)U.BG&ALEA=VECM/AI>[Z';/4[7&L M+[4$YG&I.ZG&1DDQ]0"%I0\)M+N37D=_ZZS!!U'''5T#6C_%X$"KSK1U.UIL M!RU#^$_NH97 E 0B58%E'P'X0>9@ZA2;484=^_H:2>#>MFH.CD&8C_UZR@AR)ST39\*6IF.&LQM=N,A:587&=WCOZ+'ZK/AW3RW[M*Z%BG+), MBUS^LG(_TK[R3$./FLJ[Y4-Z2[3EL(UDG:+F@-BF.)R#*NH^6YH.\L909ND) ML29:K2/7_YJH,$#G_P-$;F@&W2B#AY-D46,#8NS:28"M*]\&4E67&CY5[J?!LU0\S446),7 M2?B0W+3:"*NI96ZM=OM.;C#PEK\;0__8DWYO^QYO'HPJ,P+"S/.!_0S5OGMN MQ[]ALU-=A#UZ%0[ MSCVUSE\/E3I/V6&Y,2^L.K0.3(.X$RTH"'JRS986(F?M["&C@L.K6Q\J^0NX M$3"6DQXDZ[7$)!BR95GC"1Y'Y%.6+ELH-X%W;9O)]M2GIDBV_-Z#CK/'! AJ MS&M2S.?@'\G'S, *>=HF%"I.CK]@9--P67?R9.^85^E)!8KW;@\S*$!9I^MR M=^&*JY/T(6ZR?H\_RUIN/8R''@?)C]KP;+/ISTUF.73Z_LXZC^#ZWD*R;-'H]GFR!J<%V;JHQQ3)(>[$B>LYE9.W^VT,\9R_OJG T_;,H6$H-ZLX4$=".V$'(>INK9"O +(NZ1 M>)V/?E*Q@#3?M.)#KA^R]SI(YM_>0UMYUFV[F5AT,]FI--9!Q83SO=-T'?*, M]B-4>\G@Z9V[KH1])W@S:DRH2/V1DSSO[0D'3E_JG["G>-WOFS^].X3C^]2N M_OTE'=;UK)3:(=T0^9V;ZK(G/+1GNT^=!@E/D3N:#B$\J3LJ2X$WA*_6>ON/$ M=2:2ET&<"=5PE6[+(G_/$4^^[ZYCK_X&4L0&1K8M2@!:='6CD&<*T!=$P"?? M^VEJH$-MAB"AOT.C0VM?]?2H^RU3QTB'H^LSVQ/-5@Q]$E/59#!R\#)U)H9. MQ@[1F,=13 \+#9W)#%'3O8IN53O(FR__,Z891^)QUUE$:](84]6X"BQWBITT MD$6H\N/9G_U4WYJV)%VZ7I_.EIM9M9,9>DJ.]#^$:FMU/)C]JY 2F*^J(P/D M8VHT\6< --$2U;W_Y 53VWXSL*N@VXZ$LG-E_ ]Q=70>&^,I?8?VQ!ZB654I M'X,-O5X?L'1OSXTQOMN-,;:W&G-[[C3F_F M%WI!Y]%'\EVC.G*B.P$CCN(-3(+1&I-"_*"I&/%Y*V=N XQ M!M.BD__[$I]RNBZ3]_&Z/]5&^4W3-R;V$!PYD&_+.(%3;EE%-MYL,_8DH]3D MU8X&6?XU>?57_N](CHW#:>)4@0(J\[H4TL%K*K="^BAKMVXY?8KSF*77ZYLL M9MD-Y?^-N"ZH:NB%(HYZ%OV]S O L=.%G#P.IAXZ!IY]*TDB!9=R!5I$XK4@ MQY@MR!XW/Y[H]$5CQE;"72TEEN9%5HI."U[KA:CZ[2?;&'7"XC!S%'=7Z0-RG&79V91> M\3_[0B;]#V(K<9P,Z*(!2M7R!& 2 =13@8Q^:C)U$CGCDK-0-(G,]ZZDN'0_ M'+E0>PG)/<.#V^:D&CK)&O#__5_^\.;UZS]Q68[\."V*Y&8X&KICM83O"M 8 MY9)E%ZQ<%=QS.D5TA/,P8V 940>6*\=:"RE,$,'6K ]O=>I%3=Z#D1O4B(F: M\F%&H[@@"&RXAV@I*AT^U^8J'5/!W:M=D\QF*)W3?QFK<[E&M^ZD-6 *%P9=Q6N?1^U&[ M([1EF@2;4_+1.71T2G-Y)I)&;VE*UW&1BZH!;X.<1NT'SEG>M^W;!&4O<4D; M)=N<#V>OQ6ZY M@D; &?:YX3?E'ULJ FKI0SD:MS( #'ZL^K5B+$X,F>UKM( MH5""89O+:\@B3Z3YT,;#[ZF?WD*P2=15YZ4:)]F?$*X!Y4T6;X)L5[7=CKE%E#?'0=PF$J?E5/1EA.P& M+D55>TG9G[M=&LY7J^Y17F/Z]'9N0;5W%\B34KI&-OS21*NF>W#75ZJZL9AR M<7T+NV MG^$G,?M.]XC6!:$?M'[K8T,SF!2U.6K4X6T2N&WREE:=J7-2/%*2-M/:B&F% M3?^10(9$8:>$D[;7W_TWPO_9L$PT+H%W\RT-I0804@G5O(3D9W'^*UGQO?:1 M;\B_+LCGQSA\A%[021F!O;$J"Y(ROO'&F[B RJQL(0N;U?5^%C7P]OG[@M B M]-$+>E@.F<:J&K9@HGG/_=%;FD!NPBT-DG>"XE?I M%?L<],O8M)$PDH>#:%L>-P(KSJ^PHZPJO,@K2)QZ\]V?.(+BK]=_^EI$,S*) M*O^7YGLCOS.!:.7-OW_-EX*C!/\I12J5W MD,[MX-C6-U[@2?B_^&,^T4@U@C,4%2?N-K?QPV-QO?Z45\5%^G>3X25U R(,6'^$S MID%YEUE6Y:84NX-H @P!FXP^TC2/GZ@L13JHD;7?Q^=?J<&QGA]P?7Y%SHHB MB[G3+1)-"D9N @T'R5Z"EN9*L,GD=7CGAH6_/H)YD^7RG'KDPMCX"^@[.'T# MV[^+LX_:/["3D Z#G M9'4J$)HAJ.>_9H=LU(;N=-KSNNGJ'4=@[/?)&>AZ.KM>?MJ+HU+N8I#BSMA6 M;/T?6=H8VW+GK]*@>IA5[24DBPX/[NK$>1@+S(FSL7E-N?TED(!65 #Z:T)5 MIF-)J!29B.$HZ%_OO]W=P@>5:+/AC$ZM%=1BGT$=1?G%*'6 M*JUS)'8T^"PV?MDUIOV.#C)Q0T;$_42)AHG)M"CDOJ#W7H_F8YNGTCM3RW=W MC>VP:G<+O/^M4HW@7<6ZQZGHK@A?D#_"_T%3/@4)%3>F.>_'(7?GX =Q>M_^ MHO5DT]N33VC+\B#Y.6/EEK\!$V20:5C2J+K/S](^U\,'"M@B@0Y1=15<<#DG M3*ABWC3?B@J;=T60%7K!#U%.#R*-(?Q!]RB3H" K^A"GJ3AW7A,H'_RE$NY= MJADS&B0;Y=\K$1 MHWK&TY;.#.[J!QE-!,EWK.6.K=>DW#XGK][CE\Y,2F MMUPU7* ?JY<86Y&M&_A$A8%2&RK-Q-O$E 2V$5U!(^$COJ*-[(N( ML&C/RGFHP '=$0V_/M*"5-HZGIN>]B23IB(%$Q?<78;M_MYI7T;MZ1/8#-K] M2*[42@LD1N8G88P0R'MXI7V7V4]J;\>*,P6B^&Y9?V[D>Z7UJ*IXP1G""I.O$!\6J&\W3CB7/3!>,_R_(Y;7=?K^D+],5--'PES M 1D'T4EA*AQJVO>7K5/ Q+E&?:P!M9A$H2M9H^+RH$;%_*9NJB1'L $\8>)1 M31#1NDZ4NJI(4E/!PWWMB6++#"['=%66E=Q/K$Z9;ND* J0]S3*47T JIOZ! M'?08 ^#[4\1,@L=(F,E93!>DGHGY$1H%SF'ZA'1WR^WPQA"(9H^E./ D]C[; MZ8C.+K&=@D;=7#,Q X2[M6^I).^K^;FF-L 03(-&7M-UZAC+[E;6AN3[%GM( MXW_02"-79WP0@XDZ_.4U.>=='4A]Q!*W>! M&%&=N\-\'04.'4G6426_[]AD1XMDO=CDP !F8Y,=@#S')CLP,AB;-#+?*;') M=D2RJV'XG"*20UR(ZA,^+RF%%*U\BI0.#&!62CL >9;2#HP,2JF1^9J2TOUI M0ERC-5-Y'>+'<7D=)?H\;.3C4W:(Z%3/GX6_E7$&:U?&U)+M=S,D4Z.'0GLV+ZS4(.>1/W-'L*0YI?L>2_OCNV MHR[)O8/OI M,+DX=Q9-D#R9@J-$9?J4W0CIM?(6Q,-K)[179M1/6A,,9:, MS0RQ$=0X5.=KI B>/8F.*A=UV$!*!)Q'9 $3(;#IZ<_B*,WXR9G#BB*- %4] M]V8S%^TB'WHS\1%+T8Z)&$VW$IW?\YL@CBY9QI4-0(3ZXW'ZP+_H[@M_]D2S MX(%^"+)?:7&3Q>%)90SS(V,2N,Q@X"33U RJVLEAOBB$V-,EJ@1P)1PWPK$E M+73%=^(9(C F;907I$*:2*R)0!O*19.()4F0<2^,9B2'UT?RRF=$1%PJ'M I MY6:$F"S):5$DLE<1N!CPW7(EZ!=\#K(H)Y\?:2J27.EFF[ =4$F\DM=?T/Q? M6V:6R*^HEX2MDOA!AK 7?(R8OU/!R@[[S ;5ZFS%LC1+T:"4MS'@GZ U4L%@ ME&!W@)R')$+#:HY99"IWA7*#'2QS%:P75QX*_E<>1]4U^F8O4[^+9F1,;''= M*;!=&:.3D,08>*ZH,B4T7N$(FJ2Y1E3 GWLL_10E-L+-S,IBN%83>=72\YXI MZKEA#8$>;IIRT ;K6"]HXS=!)=BDA2%M #T:2Z@R=6"Q0"_[K*E5P!]BX:^D M3&-NIT"*AZ>4T,F,?:HG)JZ0YP/UWMKL6L?HHZ,8/3SOA>;WR+P7+7,'Y29F M/D7JWSV'D%$#%_08^Y4P;B4+5X7[.;'X>AT_@\,C#I1G=(8^SI^C)^>*I'=7 M1H7[CMSUOU[+JX379<'U< J*YTST9%SF)8DKJ["PA=Q%JRK]XK2>--[%W!<0BVA4QV MB&OA,*M>23I+<-PY3H>N$T\+!L\E6CF:XW4FIHV$.0W 0;3-EBKE%;0CTJZF MBHM GYV64CB:O%HY"1O1W(ELR0PN@+LD1LH>LF#[&(=QR'8EM ]"J2-PX)46/CM+ZVS!&P"7:=Q8YX5+4[DG_9E:3TP;'M,U;-6 _'?+4R,FT:.19:PVTI1U_P:B. M%L-T*#O3U57C'*66Y44R]O^>SEJ43K4?[RJK=N M:<&!T^A=D$%7KGS0P!I^&,E5W8/:YJ<:*JG!^K6;1BC+],CE[L@T8R&E47[) M)W,'IU/76Y%?\^Z99F&<]]:]47X/>P@Z-KYM]JH1V%?EHQ5H>=H'!WELB^X< M:&%^B#CJX20%'J1"A#28^&JRK,A?#$U4=[GNLJ;;71$4]"R-WG-A2.Z#YW?/ MRM:59CW^C.[DP.HX&Z:6AZ9HC-N +NTR >Y9M34UB- M9,Z-X HMG/FK]O)$PW<8B#['/=%LQ:SPG-MY3#/=A['Q:NHJ2 M=A9%,<1:@@2NF%VEY\$V+H)DT-!5>@)\9+ M\RA9FCS594EJ$-"9G#5A%[A;5.S@SB!+104C4XMFUADC#)'JC/ M5"PU*C,4Z9RQUQ$J@YE8@\\BV:ES3-=LY#?I:IBL3(M6[FX:LO3AGF:;"[KJ MO578\0CV!F%K*.M'-;+Y.8>XY#O@YO_O[LJ:(\>-]%_!FWLB:L8[OC;6;Z6C MQXKH;LEJM1V.>=B 2)2*:XHHDRRIY5^_2!!DL:IX (F+\LM,2R*0'Q*90 +( M@Z2")BHRT HS)@H0( -% B171 XD G+S1+T(Y+[B%8=DENNP)O2!SLS@UFMD M=YR+;&!/H[!X]W!G4)MK1K,8*2 Q#ZP&YK0)V\)&[RIDO8#.R2LSK38V$;MC M?8>)U574CV)VH]ZKZ?'[-#Q7CXGA#.K-AD'B)];)_[VP^J$>8)$(?#*4\Y]H$F?90_.?NV)J,(D]5)X%1^$F MO=D^*YY4F3Q>5!=LP\O#*%BEWMQ&9->^0Z04XPE[OW*.Z+[@8#JX>QXO6;RO MO]RUK-XGC&JK&U.P#%< JBBRR4F>]Q")@S MPJ(XBCA@-+C(HP393S0L"TU6L?)WAE ANT4--XM+7O6NQ#^J.DOF)O_PV95DC_^(?![$7/_SO3;(IUWM!GY?KNF95DQOJ8TZ?3L1: M[V-#L9WNU+=8WEQ^O">*-.G1)D \J,AI,I>;<2RP<2!6\/6^WO(RJ]\FG FF M/[;:TD\[]2Y C7D+I4TZNC$]"&98>[8W3_,KHOA,N@W,?>Y,A,(X#PP+44P' M@ED&3PI25#>"JZRB3T\E:\K8W&[NFRIB6@:;45NL#Z$.#>^'C",0D&]#P5B* MY64V$]R*O>%$4YUM+L$4+-\F7PHGO\6*WE"?H9R(XX%DQYU MYZTC/%.?(F5GJ,M 3QQ+DIQ)SG(3=@5,7[93%41N-QH^=G.?HU.8#7<;ZI)_ MC#[FAM[!6*QJXI19D60[FC?E]-KZ.";^A=Y2M,W(#C=EHF7V\^$:&_?9T[:^ MW7RKV!HJB)PJ@G%#3&YS+0+>E4,;B7%"<]?CLU$82154!*I0TD4,QUDZ=E4K M&=[7H$8>^]>>"36M"*V;Y)G2FJ\Y?-#\DSWO>$G+-Y)F&]&X^3IE9?8BNI%9 MZLHS=D4HTFFF@!P_3>Y6&-EY]0D2Q8_663=H8KFJ#'7M>SV1U$B.JJ?N!;Z5 M?JD7;)K+.5#GY!>:[YL?:'N!7YUIHE2:,Q5,6;I/ZFQ<"Z7VY<<\C*MZD_(Y MH'3SLQ;0[)4'__;A\;2VP]Q5D&ESM%FL1\9_KM_F^D>*8(M$%EHD+9;X)7>, MYX3;,MK3D]N56I;61;&GN;"$>7EJAZ.=/QW<\SY(STP+3%IWN4(-&!)<"\FM#.OKUM=DD<"O. M!I/*SS399@4KW_IE*2?O(35:("5PHF??1)K1(24<\[KVD#J\(B05U*G?Q'#\>*J(5O*0N@V91P M*SX'D]$+FL-Y[^N6L?J3.A-.N+G,?8Z4Q+%N?0N?HDLD8=)2CNGL,LM@;LJU MJ*(TZ?(RW\"A.(5Q>QD3J)B.+QILGA$J9\XO\\?(ZZ+.ZC?PORGA-@FHRX0P MZM7QDJ=LX%1IT IQR-3HW7LN%@F!'&%8$8F"@)]Q@X0 E. '41/F+EOJ* M7,LZZ40M=5$6Y3G)X89,#!U-(O@G#=B,5>O'2MX]CNC(? .[J)"!C@-=TX , MM:2%S:B(1PWKF.+R>>C&+.O"Y>_+A'QOLH06]3FVN;.R66-L1C\M(MYK8!Q0 MD$$IC'U(-IP+;L?@<(EQ=@SJ$_R#T=$T..=?8)/>''H*M>7W2&*V>2O$B*T= MZ,DM?1ZPKR0\ [/--1CB^?'MH:1%)9.OSS[ C7UJ\0AWVF6PA[@#X=B/<:-< MY2:L"K?M,AF%_XLP*4N:KXMTG3YG!10III"11^4DF\[_A>H#NPF;T/*^%S=@ M5D3!D;?8QX!(BRCN2PINBK@3OGN^)Q*[!Y79HZYH3562LXD+HJG/+6Z&AKH- M=B74$2= /4H:1&T6SQ+P\^_>WS(ZGQ*$DX_L9""MBOO"<2! M"'@9__R[#X\_D)9\-!$X8R'7X4NX:]=>:I4KOG^L-_O\W)?J[P(IN]ULQMXK MD+U@+VC-J(6Z[#"$A;D0\3=RFYBA)@:@(J^";LW ]7]#Z!/-BJHF8@L\>/^O M2,%DM P\/+RP,F,S7/!UJ8T45^YH)H)I]UW)$\92F5+LIJKV %@KLE6_(5*' MYPGX5ML60>/'#W*:*1P+B1 UF ..9ZQE3!<$"+!D^YFE65/E?OA$H_$I)H9K MI$OOOH4-6:+HKN"\HGE$\3D(7 37/=N)O\IR3D/CBA!4-2;7I>#^KT<90_\SSE*7D8R;F MCCSNJZQ@51R[P'P*N#5?%R*?RF<%)9LG;;W(I:(1RI;7 H.QX#V-,:9Y^ MK6E9F]GNK6,IA1C>IZPHX/I-*.4;\LG6Z_BN"\.326]TK$CUQA5E;3E5(>UU M99"C#FRZTZ#/+D19!8?>=ZYC5_L2'"KD!(V9?7:]82U#'-4@B43P\%#FI7=. M6*4<4?'4!V_$98[141Z2\FRX))6 2+/(01F ?"\=2:FZ6!$&^DO&]U7^IO[( MX"ORJ%8WT2E_S#.5H! 2F( 7P$984T]<],=+ FM%ELC,"DD;H@YYI%^WF3#W M(1E*EJHTX\UQN/MJ2RNQ,; "X#*9]T0TRRH!F?WT0YRC@>5BPAW+S$(,N,LM M+9]8^L O>55#J&+SRH0RZ&;Z\F+@C=!2,"PCOM[NVYHA<&AYI M&N_JRTX\M8TG+6X'3NS>U+V?&]?#>DL+/62%40QR@#ZX1L\%W]CUB@P'PE+T_F2EH ML&BVX%9$PEL1"5"*> ?Q*-_7,JI5N)A7[F&R/#E;JLI3(QZW W]%N%CV>O$> MH:SJ?T7QJAWB%I]A@=]I_9B5SS>GKQZC?\=/;=-/J,D%:N3F*M;\GC"-SW+" M[QRWIZKQ63[] C_/;4^A9KJE%VNJSSC'-=AAFX6<5LIC:-Q5;>P;5)[QD[Z\ M1Z^NO[8.7'B?-'O0ULYHO7'$2.P])@%=(1[ MG5++#?<+AZ>4':ME[HQN^1O)4*'? K/]3O?L6]\%]1\O#^0/VY9NKHD ([+> ME LQR!XB0B/NS9J"Q!&\#+93'Q6H __]V\UE*:QCK<*)0]\C=]31?D/MDJ, MK&LG(D=C53Q142<>/X"5\JBK;Q_3C3&Y6ECFA>?L>*)XUP,IBM_9U!B MC:7K%U;2)_9E#WI[N[F"_9"E4US,[U4Q,FKPD9H XZ(C>&9MS8CX0=8K80IT[,?9[QUD)0AJ/QXG(Z#IBRJ6N3##:Y[O(YD('!A>8\%J*G2C#>=H MW*]R>32LMMENX@AOV!05AJ9'PKM'5!O.T^&0?B)'2"P2&/@:I/4YOPMC2H[& M7?;!Q4AP8"AXW(;1EOIUH0+R+_GS8U;0HTL'R"@RI%BZ;3 :-==WD/#-.1#& M*N1^5 @+N@5!>BA6O=7YDT%/+@>0 ,\+Z MH*T_',7=8&;=1YJ5X"#-+MYDM>O+G%;5A ?R[/=(LVZT7^]^-K*XN207TZ5X MGJ_[[NCN&%71SB!EWZ'U>AW87KY,5[@ZTC;V4P15C-Y^#'V'O M.X\Z\[Y3="&R3?A(I)O-809R/:Z$%X;;C8H[H?D=;\JQS!2S,VEJ*S@3),*) MDS R.A2DA1&[V)W1+ Q)GS9K@\GDJ>^4>D,:$<.9KY&2-]*K=T?XWH-@"M&= M904IEIK'0=2SI[.!6#QO0LATUN0OZ :#&J(G'9H3(6[(3LOK2^E>R%*X!(&8 MP/''@,D/,1>5@QT&J7\!=6GA1@O(XF_U'>&WOJ:KU)#D)5TND$2XD)L6#J[/ ML7#K_F;#9 6D)D?( _U^+_:H8RM:*ITPMUDJ'3Z+2O[V^GO"JNI0$%AH9W)> M_,H['>Q>XQJ/;XUMR)*DAR3.NNUM(GFPV8GMPW?FF0-GV<3,@V^Z#[?^>\.T M?$N\)+(\YS57S, \O$F.+-1Q;48@Y]W6=!@;+J9,7>+>T3>X*8"2DTE2[EG: MIO[,F,:K@J/>L'%C.*K>[S/;MP&%J\FVTR C/6B+>#MP-8/<\;2X.>[CTNG)$-%=V"PH6[U_/+ )@)+DEWL<7!4 M%@U/?-/,M?5?S#F'Y>'IZY:7-5PB7=#BG__(6)[>%"F3<,;W1?/6*)]&;2K> MSV8M$B*A-!7P R1:(B$0P /?K/T.5KK+5.? 3'\ LVED5LR/?(^"I[.6;$7 M6_[M3A6H,-L]ISIPNF<.$8J[4PXAS'R-M!5&>O5NQK=Q+#VZ,0,0 MYIC+#3D6S7UJZD%O\EM'KE,!'^C\N4V%?EA[;RY3HP]L&HRT-!#E54SOO>*P MB,N_#)F#FDTPQM],U^8B],+*1VXJ1!J7<"&P(\S4&0SQQV1MDLGZ'0=[BN0' M<*=6E_PV@L&EJQ\?^3,& MV 1'@TG@4+U6&06T+KH7]K<'G=(R%CTAI11!T7^1I 82>1682 MJU64((1)? M[^<.YTKE#EE:91F;:>4.Y\K2!--Y,;MG];XL'GA7LK7W>C;BK^NA:XQ)YPB" M;^UH($"][%U7%9SIH(N^?#8N.G^(-<*^&TR^V4B_NUPGO+M@)K>LR M>]S7'Q/:"\VHPH^0^N/* A#9P5:0$1^5?R:X-)?Z^.,&K]IRHMT+28J96E3 M\A2B8-/&-4^C< VJ Z3OJ3ZA $ZH'-RB&S3*DF[PM.ZH#LK?>!ZR"\=4X +M M<:%LN:!<5&.FY,>))K=G_J*\5B^W4%CVIKABPO*#N$;ZO4G:<5[SV,@EQYJ* M1U]7 S1+TVGX4:T^E MGR]IM(E]GJ2SKH/F1P+J1))?4%ZD<6X/YT.:8:$#?U9!X+:\HV6M?NB]6S7^ MM$\"B/A7E:5*VKM;?+'KB7/,63(D]SUC/5_M$00(^I7QO4D'!_YYP(-R!(TQ M;-R9]F'+Q"FV=4=(V6--ZBVM1]G1.2B\$2J15F"?4OF^"KL1/:2@AONJXJ0U M7&+1 IJR6IR8X05.WJJ+=D7#*O)!?+(3K&M_\4/3>\.]2/ZF#A6)>Q23X,X4 MO73=(X#790FVNKQMOX=_W6YN]S58]M)89W_)GK8SGA=NB5BZ:;@!$\ID=HL: M8T['YINS*@('U.0(-NGC%E:W/+*+I;3%OI*YJ-F*S'/0LQ.-8ST:\+CQ,!+EK,N!'_!NG89G&W3M-3$ZPU:&Y*._6KYFM:N9K MI&Z/].I;=1NRI)?D/>[N,\=<;LBQ8#(D/?,A767)MDR(=/O\\HE7U1AW/K>JH5Z1,6E+W+;L2GO09[/ 1X ; MKR=%=269W-,1NI\1ZDX1\W?*RIY?;>6ISG/\>MRF.]^M_,Y0YRQO? M^AYUFPW0Y6CL"VBKI.QR@+V<[%$V.PWYX<9LM-0"E1%)WK[?;D92XPRI@U%# MC%YH$0BT\_C+&^5IE&;+P+L;GD7JK[^U8_QR,L8.SE(&B0Q]G)O+F($)9HL& MQ_-WN2;_1S%QKBS^?E^A#'Z@&<[>_U,0>Q\WID#F/H!['];^D3C:&/OG\Q'K M->6"YA!&\'7+9/Z$=9K*58?FAW#-ZN+MZ,6HFGXRJB9R^(4E[N:MQQ-(_\4U M^X^^?&'J"#3&<=S8@XGR,!D+BC+WESX3>A3C:) ,9-%V<[. MF < EN4+],;MW(>M76[/>O+N5]M1#&1\S@4&D _"4"E^Y/L:E5,TR,!Q%BH" MVF(YX-W_=]7/*_8 S^(+=_(]UUR4)^_(G(1SUTVV+-WG['9S7J1.*XF>>0=8 MQUUM0MZ]=Q42N!4:JFNXD#QXB)GA]NRVO$<71@)DKF$WA;(,BJ=/\//HEFO4 M"'-_/MNY=P^GEBS)@6X_MZWQ%:N'P=CF[LT4) AT2YGZ=U:TF=G.AAVC6*&^ M@'$$M(Q-U"HK(;FVC#@5?1V;^#*Y6I-CI E2 M[8);DP-38M11LY1U[G**E_G4\D7L\@^O+']AGX4!NQV[<7729XBGEU/:X9Y@ M?N_]"<9^; &>8DY!+O])9E1, MO#%:PI_ HBEX^4SSW@DD>4MRMB*9("<4'=+C*Z-']% ?C"!58"N-5!4VF!). MV#T^Q6F9%I+TJGWEKGQ1>ET%\SU_Y>',H#^$\3S'#"F0(XK MGRCYU04K7S. M3RY#6:QS.# 6NONQ(7(C2+\1I4.M-;HBFP9: M=$V:E*@1=9IG912=DN?TV\TW=4Y?/T-"AG]/)$^&VZ,%=U3& M5WUK_6S)+V0=:/#[V _Q8$:Z(0E[^ M>]G[P)F$&>P'PZR,<&R%K#V\:*Z NK(CRA"\:*H[&AY>T3U:'V&-*8=T.CR M@Y]4]C:!CURWQ30OVF*:BSO?XJ=T\)1K.4^+V:'6\!!EN4T-]N%IKSJBM90- MZPB4CUW+MA*X[3\I5RV1O8L.P9[&(3K(VPE9V5Q#I^LS32G*$^X+NT5@ISTB$UHT/7 M-^H (#E&N#SUL)C201VQG:>XAMVW(H48UWU1L_3Z>\*JJG%8,C'LYOIP:=B- MT8IJV(V!W*2X?YS'[L>-N$W^_0&W5D4"#\Y@;)_4@-_OCWI>&K3W>ZP=T2-2$X^M6 M'S52G!K^8=EJ..%#B6+DLI1N(N6V<7N?BA/.5/OC9\9S>$N]QJ.]#7-BJ&_" Y!ENLF-L7926RN33X$O FX)NS7?,1F?GNO2HP6.D MO;_' UU2 ZD5*9CTV]\PR&65PV_)8^-5N%AAGYTR0]'7FXH]P6MLFK.@Q';#?8>PI"<=S$7>)JZ;ZO6;;?%!+'K'2HB82W% M1Q$]:=S53"SAJNV>066--@LQI._YV?RJ;:(3]U=M \06<-4V@,KQ59N3<>.O MVL@'>'V)8\XA14_OQFV6K\'4] NK+VFUO2OYBS GTXNW;Q5+;PJ5IZ5X6L,N MV^3&>ZSJDB9CYQ9\1TAU-2?H6V4!#MGD_+4B($OJ210V(=IA^7,48;:8'.Z. MXXLZA:SKC\U%"MPI[(7DO1U];'$(T>S9XQED!H%O/?CVT]>?NFNJJH4@3R2^ MKIJ=CQBQ:>D&S*P@3ZN"2SJ\IXU61.OU+.*Y35?.#8]M1E,9-GMC+S!N]AYO MOH%-AL;!C@,E3FU2,VKG!?,_"IQA/8X@]G@0V:::.>G17Q'=\?A,CCDM_Z?I M,#789YF0_K9@E_NJ%JM)^9D]/[(SE\7)CS )W\\Z\YXXM6"DI4A^;6C.7';X M@8U+II[U\F'N&G\A,*!K+A.C)PI3A(SFXU+!]7AF78RL9GDN=L\]S84%#KQY M>RAIR@KZ#$]B%R4MTG&A1C3'%2C3)A,BE64+A;18?DLZ--)O3^+!JXG7X>(4 MZ)[MQ%]E/IZLSX%=RX'ZB &/@#!*%3-S>>2V7 ]F+5ZQ,GNA8.AVM[60:J'] MI3A(CUB-^@V1UN,\@5#VUSP2C!WF8WR(L^"!XHKTGRH$?:V2L@$&9^-H=:#9 M7G*)%28KJKK<:Q2F\V1Q&N@.Q_,TX!K29&:!K&*LJ(X?^B]S6E79)F/I[$$4 MW0]ZA3&D%Z)VXK_$5B')DK1-^)/T\)&=:('32.^#1:T^:HQ]6/VBU@=D_7-B MS&+7>"GESF8CIM^83JVB7SA/7[,\'ZQ9-&Y3>*;FSM?,!2KOBPFKVYI>;=FM MI7B;.9W4:3\T]S,5+IE8S9-_;GF>BF7U6B ]K^(]^R$V\==9AZ%,[7/*F+W. M!7YT(OVJ1_PWA$4=A#AP9CS]6M.R-AO*!I"BSA"(<]G1@ #+6@^A\)9AE:%'_M$F\L[H=B/MR_7W;"QZ=?9[](EQI%_OGJQ #[9A M29'\"C0C976>92TWYEIO\1_%L'J6SH@D:;1 RM)$SZ&VH@D(F#W$S8AL M%O_&X1M&._6M%D#U1W%B?":I MH+LB['N2[U/P=FIK7N^@F!U..5P-"7&BG1\7O!33/(_W5#PC12,%YM_KN]&P MP756>+Q]/;MG+ZP8K4L;!<,23G%S6-_E@6YN4-'/=@ZY;N?PHE[42QV^O(=3 MGK;J^3KPF=A\DM'%'LQ1BEY*<"^)/CJ^?D>/P M<.4ND2SMSOE8BO3NF0=8&DR/VEHR$+/U]97NAEW3M3Y&ZLQPIR';KUM:&A<_1/1E7>7-@&;(\FXM+*)P MD0:8O/23T):2,\5N]@8+NJ&GY#_DI+=.9+[72FP=T$>4D]X(AD6>]$ZP_F>< M]$X&M;R3'I[K=MX(#55A[6KPY5V>],94+]A);W)F+>,DK[)JQRN:"]MWO[LI MU-6C3'$-N1/W++W=J;2)1SD4_\+R]*:XKL0%R!=0X M$#,.=S"A&0HHD4A7I,-*^F!)AW9%CO"N"" F64'>%:-PH:P/6T:H+-(I/<*. MDKUN>$G2EI=/,!C!E):5:9^5O!T/V2K6,3F*"$&O3M<0[FU&8X3)9M\AE=3A M #IBDVJTL ^,/>TY0D3L*03+:%'[$=G&P ("S\G9BV&BKTB&]W$W6B@M)>P$%P%.-[/ ".#B;VP<\AES%O 8KZ2H8 UZNF MFI<>;][!X6]>S3P=^C1G]5VNFS)9U<$9I&D18,VPS^I/XE_AE^ROQGT=:,?&;_P=02P,$ M% @ 0X1P5HP^RWK\;P &B\* !4 !U9G!T+3(P,C(Q,C,Q7W!R92YX M;6SMO5MSY#:V)OI^(N8_^/@\L^TJVVU[Q^Z92-UJ*T95J2VI[.EYZ:!(9 IM M)I$&R93D7W\ ,E.9D@A@ 21!$(F(CG9) L"U%F[K6S?\Y_]Z6F7?;! M,,G_ M\>V'OWW_[36(QB5*O[E__N;NH/'S[^\.$[WNH[1G&)5B@O(TYO6F4HPCC:Q%E5DQVQ&8[^ MK.(,+Y[9[$=QDI J+PO&8OW%!XH6__B6CQWMQN5$_7\=ARV?UVQ-%7BUSM"W MWQUPN*:H8*/6@URQ7VS;E[A\9MLDQOGNE_O\S9;#ME9[A(,E)4%-VQ^3IAW_[C#1<]C:;#\?M]PG_SKR^D1,4= MN< Y.SUPG-WN5FDQNR]*&B?E&](U>W6?E*J(EG&\/IB8[6_VD[/]Q;]:1"7B M MYCNAQ$'T?AX64QL$,27;)_OMW#ZH;CT'L7WV=(1>NK1C(Z#Z^+&4V^(93I M(O_XENDS["\+1"E*KYIO"._>^MZH"6$?K/6'_^!SC=)_?%O2ZH6*F";O+J'7 M VU;?+>.*;^ D@>"TI6^MN:P$3#/CR06$JF(J(K.[)1KU=BM"&'DXZ= M12.[C(E*>9@Z\XKE3P"Z"E@$'Z8J NA1[\MB@.@3I&?];R^[__RN%:CTA=)R M=CVPZY.C%,J.W^PY6NQN"H8_%X2N&B13Y7&58@;"X4C->.CAT5I'T@)BZP>Q M!?P2\(L='OY[M]%?EL?E?IN+$+U9YX#+ BX+N"S@LH#+ BX+N&Q\7-;E%K<+ MPS[\/6)M5KBLKX':>900MISS)6+T(@TGF=9PEN"6'CD!8@6(!54J3_?+:I:G MIX>+2NVVZS;(=('8]#D(KK N0+D"I K0*X N0+D;83$U4:H:P19X4E$0 M(%. 3%!5<1?Z>QT_\Y-NEJ>S9FT9*? =1YLNU)H^!\%M%:!5@%8!6@5H%:!5 M@%8N0JM>E"N[<.OO$4T=B6L%0'V@+6"E@K8*TI8:TK$N=%LT)HG'(;51T0<+,_ M > @K--8 9T%=!;064!G 9T%=!;0F3OHK(=+W2YL^S$JJC5#2/PW<18E5603Q.N:8UI":89T!3@68!G4)7SE*VG"[:<;@\6V7ZG%\HR&)K=IPO< MIL]!B"0,("R L #" @@+("R ,!=!F)DV90UWI22IZG]P9Q&J%_$A"H&#+>! MPR,L+4(&@54S]OF4DW"1Q5W%V@]:$OH53JF86J&LD$*9O9_\5KP?VL;FR+TAJ2S>DU)1OXJ> M_C=Z%I(I:#<\?62U(OEMR5#:[0/#A\6\*OFSS/SQ:C&Q@$[#4]XH9,T)R#[, M9[CU.H?.5X@NF1 ^4?)8/K#I7,>Y>&U*6P].ZP7.T)=J=8^H MD,#W3:Q014_9F;(D5"RYUE:#TW:9)X2R95ZK6?7!=\H3/NFS]% '];) >XFX MN0EO$-._XNVNE1 M:SXXM=?5?8:3BXS$8A);V@Q.UPU:8FZVRTL!Z)49:I#IZW1\)2MXBP[J0JF'A;BJZ2UU>"TW<5/ERFW^2UP8SE2'(J*]H/3 M^QO)V/$1T^80%$M3T&YP^GYGZ^M_YTS'OD5Q07*47A9%)9&GHOV ]%XF"[JU MTLW*$A6-(5E@@%4WGGJ8BRY-A)N:'MB,"3>,J,F 5-VBI*),"!\^WM_ALM5F M(FIB@:KSI^0ASI=(<'O(F@U('8_TXYK[\^J>9"UDM?[=GQ@'V?;QWET-,B(> M@]-:1Q!P^["GR^,]MP1L=/%TH2A$(H,$8(E\]$,B$E\V6!0_^"$*F/<3+)4? M_9 *T)T)%LM//HI%X#\%"^7O?@GEO8<,+(F?_9*$.$X!+)%?_)*(Q/4,%LFO M?HE$[NJ&ZVA>Z:TB?P=<'%[IK!J>"[B$/-%A-6S!<-EXHM0"(T/@*5!@L)^82+QBLU%A(W M!Q>-5VJL)&83+A%/]-=S5;P;7"*>J+'GT(AHN&0\T6BA@6=PUZDGNNVY(IX5 M+A!/%-QS>5PT7!Y>:;?PI!JX@#Q1<25)_'!9>*+:"M/UX9+P1).5%E+82V/@ M(B,)R0N2X93]G$;W<5;7HR\>$"J+J.'U 94XB3.-6OSZ8PY?>L24IE#<<8"H M=Z/*B?O[Y3JFEL)1J/' MN!S4%BTP]:];CTNY.&]8IXM5'JYWEZ#)IM#K/")?P*T!ZS0Z'](-HNX0*HE" MZ)TO7FIH7I,F^DI1QE6GJP_547NG\XZBN*CH\\'*%1 K:>E/KI/1NAJ]J&O( M [._,(XO RR4+36K;&RBL7FW5C0D)-GZH;'V;;,7^O?[% CE%#+ M7X>G"+V<"2(IM;>P25GKD2!M8X&Z#2[8(3Q?7%-,:)/?>X.2+"Z*EUR\6?KO MJB@Y=>(Y[S*.#I?'\(1<>&;-B6?6]HK$[$6/N-ZJ$:IG_/0Z!Z=/>#Y.@4K" M\W'A^;C@A]%@7J;S$9#:Y84$WF$#HE#2I\ZUVODDP4Q3]Z9(IUR"7*?N*Y'S M+;8C3'V^@8M=!GVG+@+0.=\9G$Y]@]B,2IB*Y_#HHQ(T'U,UP;1VW1\?HSCY ML\)-]%51OT&:X@T[''!9[3V]0(<';#!++@X=8H)38T2GQFV"\IC=+U_S8HT2 MMEU0*C3[*ML.3^UNE>U($1C/I>UZ,-_.TDW,+]Z4Y^>T&IE5S7H@XI3D)4H> MML-?YHF8$$73'H@YBPNE.$1M>OC\)T+21YQELR5%2&CYAS3M@9C/)&/'V05F MH^Z2_#]?W,URIL-E/)[G!K&M7A^8E_DE>8S%M'8;J1<_1<[.^C4JFP#AG<@* M,\39?LZ* MDV['K) *Y(<"=*VP3$?'/-OQ1$<\X>F>'\=\U#EG1AC%5\D)#]"24\X MU1=I6=9!2<\P8>K3H#83$RVK]]3E 7IN[U'W'3]V5']F4*Y+$G ,_1 MU 4!.OGT<++_X29:)MRIKQ =E1?DY_1E?4 %(O=T'D]D$L"HXLM>48,?L//9 ME]T"$XF.P]B7G0,]1T!Q&V"A3*4&R("QGE.I]Q%B/?5B/?MP5-F-_?PAHFB# M&'9C_TW(,L>');>!(9_2,2Q%>@)H" &>_01XBD+OMKOXIID'2?R=K&&(R KQ M,>[%QUS$F-;ESV9%@;A.R*L7H72>W_ W_2C.ER=Q@8NO.;DO$-WP6_,R7U2*;O<0[Q%*&H3(B1 Y$2(G^E\5ZHN%V+Z"?1&MVF O-5] M,H!2X8OH+AJ_?TJ-V.;O3@%@H%O&CT#$:/ M8/0(1H]@] A&CVEBKLG"SH"YI)A+^PJW"[=^B=:4K!$MGZ-U5K];P8 (^K/" M:]Y&$V7!!K,$KG2("9@J8*J J::$J:ZW>_N:;^U9GI[O-C8<7)D,$5!60%D! M9064%5!60%D!9;F#LLSOZL.IU)TOPJ>VC 2:%)PO#DX5N/5DH M@-SLI"-\R.7M Z$ET_%6)W'^QS\QRM)+MH6?;MAF%V<7Z/?VS$H@(/&6!Z:E MLU5]"M8E%^I3,SUEER@N 06+C0;HA_"JB8\BV0;GR^9[%S$/LBN?I?2"^_5' MYAU;<%BTRVL)*SM8I?_U!I%(7=QP1'JEDI8UM6N_9(HIW,RG:&V=\LN<74N5 MHH*EN.&(]*IK%BN:6Z:=X@T[#C9H%^O(:Q@HZ%=W&8F'O5AO2'YDN-Q?M7RRTDV!Y*FH](LE[JTL56ZYSP> M_[2BM#:WQ_=\!6 D?[8%U,<^%U](3IJRDOFR.13/G]8H+P0V((.NEKW_>(7$ M)BQYJ^##]^ Y@-]BBOG'^?1*SD!1L]%HE9Y]XH8A/B+$1[P51XB/V$G$[_@( MZ0/C0N_1U+D&6Z>)OBW8%]E (+JXV/LQ2 AD#2,F%D!_)"2T-!-=RZXO,I'8 M+8BHE<_RD%H2B!YV]T4F0F1!X/J\+[)06ON(J57-%PFI SMA%E-? EU!*T8G MM,(7P:@7BLHU[(LD%(I)QVBJXZF%I'8#^+)BE&H*,'(,+ _'7R90KXUCN6X@ M%XUVI"-8.)-]JP%F1?=ED4@U^BY1T6 !3?9%"TE<_=17A]3Z*LENF+J"(>=; MG&LR=;YU\+W4P0P6Q-_=%@0$D4!##J=^&)B:E2&!7 _.RV; #O+H(2#GQ9 M*SH.+(WH(;!X?G%;/-IO%/N_8C3=>OI16F!!_>JVH*Q4#)B\93F4#&B-)@+E M!>UE8Z,ZP(HY4RN,_AE-(.L M$H#2ZHL3"RX4M5+LRT()#^@%FZ'Y8PY0* 023"[! MY#)-C#19F!@PDA0C 2]NRP#IAP9%W,=,5!%KSF.CZD_I8B3E0+9@$I"0@)0& M14KG;)K),T*S//U"$-XL^GB DVZ.X9%A60>/> ^)D*%*.ZM56H,'N,::HH)=G:9B0(/%^<'AQV M-RBK,WY)41;U=7/"S\/K^+F>:V5M\'Y&G:XQ8/H*<9&9;!H'"]XIKN)9/C;E^5BPY7K^+((KEQ#5VZOYG'+#M\? MHPPQJEXF$NK??=O/ECNW_;O!>SNH]_8*%05"\UWA%'9I-J8A=%7/A=!]9-+7 M,U>H6UZ@Z7,PDA\KV+*G>)T'6W:P90=;MJ-HR'%+4T!#NFC(7-NSC'E^CG8& MG^@>Y6B!RVB=Q;DV!E*-8PL3P>@(&"GD D+5QU<.RCS=64M/FM7%3P*5I/UR8P M?0Y&LFI<,*W@-ZX4[$E3&LQ ?8)MQKYMIG>CE?'%PJDO.%FG;8%$*%J5@ M43INBY)*^2#&NI8O$I(?H:0G/=L7:0'>I82HN[Y8*R';R\Q^X$OF!%1"/4G# M\?6BWCX C01@ MI.OGD8UARZVCIB%X 'N-RP*G16U3O>]CE8'NTO*-+NKV!O:;KRIL^ M!R,Y(S\ALJ3Q^@$GC+:2XOM*X<]6=W" ?NF6AG1Q@(?M:X+2?:W1TZZS-9"VM4MU@^MN=K ._KRU1L_@I \)%,'='=S=P=W='_,*DP[1 MLJ9,71@ZV(L8 !V/Y=,.L65"DIH8?)$40.4G)NJU+_)1.ZO =A!?G+NZAX^. M?<(7&1DM&XD5T!>YF!S, !#I?W2 KHG&EP73Q_TDL9GX'U,!<8E.?;&H,0+$ M>^?+(6)RQL)\A+[L%BT) ?WC8-G\Z+9L; 2H_315$80 -6F FK:IW%J86L'N M?[S 2MT4 M1/RO.$]9AV5=%OZ:3\:SM("V9M<^B.6//CR0C!U-Q?F?%9/&'44QV[_/]5\@ M-!N-T /I!]O >$,<,M+'>&,$A3&"KK=D*.(5U!WL!K_$Q0-;Z?P_?.%L&.C/ ME=O$I*_MH*2"D9'6ISN0&4"7<7+:/]<[N=X+#5TPAK3[C\/=?/'BD+WDCSC)&VB73 MK/(E9GI\ ]UV?Y+.JW9_5[A[^[,IE_)QK')[R7/$T%W\!%NHJN:6:=^PUA23]=U64?)625K1,MG7JRQY#4< MF9JZWBM"JEVDV]TJ;S>H0#%-N 9^AC8H(S5EYT^\9B62WD :/2US5#L;+RA9 M\?1^OD=^Q^7#SGD FS.S048-BM4YV+7ZVN6J];GMYG7/6M A5KB%U&"F$ M OM0KXO&*7\I=EX^(/K>129=.UI]K7+UM6!X];PH\8H)6+12VAMY%HC=BY$O MA&B+0K2!ZN;4G65''9YMTVWL:/1)Z!>@9#?!YXHO1"^B ; +S'Q!?BR MB?3D(]-2? GGTI.(H;/%E\@N0V'!_3>^A'EIGD/Z#E9?@L'T!&6 ^L""^KM/ M@H+Y.L"R^=DGV9A9>\&R^L4G61FZ:L'"^O5(A 7Q^,)U3*^4\"Z&?+C(O-++ M.QO.X7+S0WLWCO>$"\HKS1T6Y@$7CE?:NH%K#BXI/]3UKK'*<'EYI;5K.^SA M:7;=PN#LI:(U=39CHIJM8KI,W\Z5>5P+;GA M1/O56/,OV*HUWI7"D+@U:.*6T BSD7PNTJ+(K!F.*VN,G38SJ8;B!LJ2Z MKD95UE0_JSU$4DT[DDJZ0:2-7*<3%CT],6_U8)LY1$N)HJ7DJVKJ\0\A2"H$ M284@J5=OI+7?=J1OA=$NM/O(+H&7YP"+*,[3*.44LE5=460&YK3&M 3?#&@* M@&U0P"945[2F"H1F#";?DOYZ\OY-3G:07!"ZBB_S!?\/_Y5*P34D1Y0;$"Q <4&%!M0K 3%VE"A?%E0:C%VTLGMV@!^B&@3 M,LG^6\\X_XH9](<,90GQPTD)0'\ZX/CD/#LQGD)[? M823;[V_&RR5EBZB.'%YL@[!!/&KU#5 \0'&7Z3P^* XZ?0,"#P@\(/" P ," M5T-' WW(EV6B%DYGA=@NMOXQ*JHU [K\-W$6)7'Q$"TR\ACAO1' #&H;C&P) M>1M3%H#X.$#<8,) N-QX(5CW2?-*&1>,LML#>O>OX2CBQ?L9+0#; &Q=IO/X M@*W)\15P;L"Y ><&G!MPKHZGN8/"9!?._<1MG-OB8$W449PQNN,\01&[$Z*$ MS04N(T9W89H*V^43E@!>=Q(#TAL'Z769.1#DZ[XT+&G [XO]S7:$7A!Z6I-Y MQ:@$:G+Q7GFZJ,I:8/%M8] ,\ /%VF\_B I_0D"L R ,L M+ .P#,!2!UCJJ$)V<='/T7+[Q$EM8B3\%29V_N^>-HGB.MO8## 9C6T)276@ M+4"L<2"6T92!L%>'Q6 =E%W@')>(U[![]R*1)C[3'FDDCG=O,,$Y$_88A0,B MD_1%Q:OES%;\W9&_ZK-M^S:$UF3V^8D R ,@=YG.XP/D9M=30.H!J0>D'I!Z M0.HZ2%VA.OJR.'1$8H@3P*)R_#U*N*CZU\+MVH)^B=;;$NK1.JM?IV#:!MI5 M43>S 6F-:'[!2I\!.\8L'W ]B[3>7S8 M7N\X"I@^8/J Z0.F#YA>C, '3!4SG,IW' MA^G:C]6 W0)V"]@M8+> W72DH1)91E ?(IRS5OPA]2=#["09PA9J4I(0\-)( M>$DR,S"DI)Q:ZQCIE*S6)&<4%CSCGM-V%S]MHZQ/4(X66-<39SSB:$[4YF!F M5&Z?"<\[0$:CT4;B_'RQ0$F)-^AEFF[8 WH.Z#F@YX">==!S1]W8E\6CY\PV5JB/+YNVNP)NV6+S,83('G9:!8P?,'[ ^ 'C!XRO@\", M-23+T.N'YM"_CYGD(M:<&R':'H>'HB_H>+8 F!X] 8,-BL$.#!1LWLDS0K>( M;G""ZFUQPN?H]&"*^,M82?VO^8+;+I8Y_@NEUXABPMH597'R/'N,:7K'*)-K M?*-\O%>!-470VDD%U3WN:;A!D3ATL\+ N-[6MX['VX5_@XJ2XH3='+5Q'3_S!5]/W2'9O\59 MU9QB15&MFM\9RZ;[1X+M)]A^7*;S"&T_X,LQF'^"^2>8?X+Y)YA_).:?$?&E M+^M,Q[C6OVYZC$$B_: ?L.1^\%URG4 U6(P_3E:,O5J@+)O)?XPR%)O7XA!T MMV4$EWX^V+P'M7E?U9*_X=X@LJ@*I)]=U&V47EA@7T/S-:)L0>9+]M4+G,=Y M@AJJ=B0\;ZOK**QP_8TXJ"U:L&=@IF?IAK-D!ZE%R35)D$%$T3I8\((%SV4Z MC]"")SIC@L$N&.R"P2X8[(+!3H%%N^K4OBP8M>4#I!P>@0FM;^ABV8CQT_8! MY(SD2W9)KZ)LO] -#1L:0]HR=FB3% P@(R5>:5)1 M6E^[>G5E=+L'L![ NLMT'B%8USF9 H / #X ^ #@ X!7(U,SU<@R[OHE6L28 M1ILXJU!$%M&B!HPXSB*<%TQVO*DI #,9VQ82,Z-C8U@[X&<5%Q8[%>7Z#^.F"\^5)7.!"I>J:#A- 6P!M+M-YA*#-Z,@* MZ"V@MX#> GH+Z$V-WKKI2I91W*]1@9;USQ2M">7./T/,IA[)%D*#4A+PV$AX M3#U!,/0%G6CKN>PW:(/R"IT\?X[_3>AI591DQ128D^>;'9VW#>&Z^>M=!PYX M+. QE^D\0CP&.,0"^@KH*Z"O@+X"^M+)9^U'5[*+QSY^'_U9Q92=M]GS*\O< M@M!54\FDRN,JQ25*S7!:AR]8PF^=*0RX;AQT?NQ8[: MRSVQFM#/8*R ]@+:/'.+8)PDI#()J.PR^O" KSMU >P-6]R^6JUB^CQ?\,I^ MCSPC](+0,U+=EXLJFVTG9I:G6V/++/UW590 S]808P^$;;NL416N[;[^ [H+ MZ,Y-.H\*W77:R '9!607D%U =@'9J0JM#J(Q6@ZYC(J&"QY\7^!ECA\K8#__Z'#_A5;7ZC/C#@&_H$OY]>*IP+J>J[>^#4W43YTO4,G^M?[-# MC5!"+7\=GB+TPB9EK4>"M(T%ZC:XJ%]@N*:8T.;QA1N49'%1U*=J MK1*\7(WB.>\R3@^VF"_L7K@C+V;;%Q7HK#G][UX?_H>6%KV>5G'T:5P\G/]9 M8881N5HR*T]C2CDXK#-&!+A:W@F&L_O/+&:'9HFN\ :EETP-R)>8:5AURLO7 M C%U[ HO1/Q NH[$U66>4%[R[@PU_[W,F5K)E-W#\HD"KB!=H]P5ML0U)L#L MB8<8BTUVZ"*FS3\P"'#&($!&UGS;;Q]>$/ E[3/2*@S6UH&LF+1.QGNNGS)I M7JV>)>Q@96!89-(4]_#6OJEY?8YNO0S&NL&9EVG;!*3P>B&!=ZB,*.#1U+E6 M6R@E:'7JYEGIE$ML!F"^':T9+>=;;,&9^GP#%[O,Z#!U$8#.^6L5UO/GC/*L@$P,1,,=*LZ*20.<#G?>."L=+<,.6#[:+Y4Z M*Q\C>R583C]Y+"<-PZ?#L05,S<.KF"<:5?6A&F7LO"UXSS4E:T3+YVB=U9WS M-$+L6*GWS\[Y/F0H0C^4N1BYT"=G(= A!#J$0 >W AT$KNR+BC*%MJ+H C_Q M__ 8-?XT>,4OO59:=+L-6J_-_@D'J_\VULEKR5MU4C'-I7F-;??/RQ6C=E/+ M0+!N3/I:Y>ISS#2R'-%G1MKY3LY27@ ]K')PO5TPUWR]'-)T\GS'Z&@YZ0QZ MNL$1IZI5&3#HZ09'RN 40,_H0X@*&"\J8&(>-.>NL."O/Q)__=%ZJW6N6=+A M+O-%7FHGCK;B,G5':,>E9*!^^R*Q$"H20D7Z"Q5QE.^.QP,8T?H2)J K)R/K MER^+*H25.!U6LD'TGKCIJC2P7=AU4'YDP);15& ^>E$#U92#V++>Z!W3G(W+.-O'T0)I%74WS,@3T'U*\A(E#]MYN\P3\0PKFO9 S%E< M*->9J$T?G\?%FA1Q]HF2:LWXRRJ.]MEO$\+MMQ5*Y^Q.KB>'R:+ Z?:'_T)9 M>IF?%TP#>&PEN8=Q>UVLGPA)'W&6O6P'L;@537L@YC/)V(5X@=FHNUWP^>*N M+OV2<1/Y#6*717T%7^:7Y#$6T]IMI%[RW'.F/:Q1B5\=-I*X %B/D(+?[I:: M4TX2B6 PB:]3S;:Y[;^&"Y4Q?<;W1N MQ*YV1>NQ*;]&-.'@8HGFB]\(]_-=LGN2(8Y2E9%L-MA(B>QMVM2>[NT)>TH8 MH0INU0.XP^%I?4$OV8R\NI@/3XS:9CI?S*N2'>2HJ/,^_@LO'^!2Z/ 1YR6U M"ZA^[BR.EY'?_R@#/EY3'-&?#&G5Z0HYHO=87N+\P0=+/MMC?X&+3^,Y(\M* #,W;U/LG13=!?!J./>Y MWR[G[GQO!W*!XT).:?$E7LDUWXZC6>7\$_MP?8#GMS%_Z6)WB@E8$S4?K] 6 M4TI><.%)G/%RKKWF&16,<.'J4'4;:95(R/J"ROF"9U(K\)+.$&.5^]K9X.5%&:'-0U"R M#Z7*V,>8JKF'F+@C0 MR:>'!OV/C=9R_$Y]A>BHO* X.U_6!U0@\H"PXPFC!Y@.?-DK:O ##EWS9;? M1*(3;N;+SH&>(Z#P5K!0M(L+NG*<])>8I%TWT!41C)^8Y&P%Q;Z<>S+L+4AFN&O16:'U$[\,%MS?O1%< MET &L+A^/@9QM4:T@$7TBSP(FNR=9P87D",'2SZ.$"\@<]])#%M!>;C>(M/T1TBV(H2L@RK\_< MCC5;M,:T5*K%@*90H:6?"BVB&@O;#;_5KB1U'F0-0T)\>Z@Q/W5HG)2_X_+A ME%UA[-ZG+T?.5I(WS4[X2QAFKS?(6&_6QYC6&DUC*_U_W&6 41 EJ?('0(:#V@]9'! MPF3Q4@ +6@&#O5UH1QA2KJ<9V05;OX">LC0$66:#6P)778@+H"J *NVZB8BM MWZ0Q:O/"!@>'@D!_E?0(,"' A 3 DP(,"' A+'46HWKR:Y.^RM3WNZ[ZJ[R M02SIJ! B@BXZXEMUK2_N;NE2O,@[)%5M[Q\?4B5^'WE JMX]6WQ D>"5ZJ&I M$4JHY:]]O#Z7$<*'7-X^L+.2'>RKDSC_XY^X3O)-T=,-V_SB4%O]WIY",0&I MMSQNB%U#]6E8%W*K3]/TE-VTN 0\HF8T0#^$5TWX"LDV/+VE_MY%G-3>>2F] MX'[]D MM3:1[LM8@/B1#> $A^K7;19H7C# M+JL-VL5-\KI]BIE1=QF)AY= ZOEB_\LO2'P&J#J./BL7^ FEA[M9SX^$-Z[ZN[C,0#@ZQUJ7'%'=G>?/09X'AKOM@=/TKJ M7S=WXU$R " "]'"! ^EE >ICF8L#U>@Q7DN?PY(WMDKW%>*&L(*MXQK_S*NR M*..<%X63[F%5MY%VPQ7.T8XF $I5-1^=]BMN2:/2K0#M-CHO6TO^":&4/#8U M:-A?A"\FZPPQUFHC^9)? EP5%W%QT&1$*LLM"5REENT'2=-1:9;O &ECJW3/ M>8+1:5/,=I<=AI' MJK3QSX77TA.FE*@O+8EOVYYC&I>"/PK!EVM\L00\0J) MW4/R5B%$S(/G*0^MB9(S4-1L-%JE9Y^X80B_ RR]J4>@'77X77O8 U'$'TR= MZ]VR5OHUB;RMCRM"Q\0A?GSP&"0$LB$2$^N\/Q(2>E>)J)6O[YKNN)582HBH ME<_RD.)EHH=0?9&)4'\F<*W5%UDH[8O$U([GBX34>0,P&ZTO>12@%:,3E.>+ M8-0+114.Y8LD%(I)QSC=;G*TX M=;YU\+W4C0H6A/8[B*[L>OU S:D?!J9F94@@'%@VV@]!NK9>8*EJOJP5'0>6 M1HP,6#S:CV*ZMES @;R^K!A-MYY^+!)84-IOA+JR=GHL2#-YRW*H2*.PH8K3 M%X<[49P539ME'AJ//)SN[ZRXS-(3A[,P3D10\/SGX:QLSHI*%DP_G"W)77%H MYN ,![R=%9%Y^OIPJ--A8<'R,H=#6!,0C3SI4Z M'154182TM4KU^6*!DL:AQ \J)E:N6;Q^X7967B!V(S:+OV)$/;]J+."QAY'' M>A.>4(27.60B94U'J/+!=T55/A JK\L@;SPRW8#").+F=O.XURAGI/P3Q<)T M[7V+\""&5]G.7W/Z\AHMF^$3E*,%%CX]*6@-6Q,3RSP(V<0AFUCI9!;>/>_\ M[ZJSWA>Y0.,1Y+>V7Z$(D%4"4*5]"0V$"T6MEOJR4&R$8CB^+$(DAI%%%&(. M.<(X# ,#RQ&&7PQ@W#C"V P)/#["\ L@2+3LFOD8Y:C&.^K/VP+94:$/"@A8]J!9]SJ:=/",TR],O)$?; MGVY+DOPQ7_/9$;].J=FU%Y7_Y3-GF$%B-E#]NIV4;]#B.L;I!:%W\=/ON'QX(!E/;&"_J/]ZPK?OZ<'NG6T0C9?HR/+[X60!*&TX#-\ MH$PP_1[1!+,%(2)=U6^DM<%+0++3O41I394T:%3:=DRJO^:X+&YNO^I0W][' MKAFN7;&@E)>1JK-^G_=-MBG2];WRI>(TSQ?-0;R-JOA+N/9Z_\Y89M:>^-@P M_90;--C-]8F7R!U8;&\_-S7IO3FIBLN\2=N_(TP7N,S9ILH+G-0I;'U+4N/3 M$Y5JO2)>^)(EP@SPI8G*[""CO=EJ TGLW7>F)J_F .)Z.4_ ;2:^;UFU?<-5 M.14B)O9H+4]!FNB0G[(O,TVC@$PFFD,%AVUPV :';7#8]N&>:S>Y$9N'MB^B M;#4'$9@AQA<9J)W?8J.9+P$ PG6@8Y7W11CJ!2$Q^OLB!.4A"S 2^I+ (MT= MQNY<7Z0C7BG&[OGA4@U<$8V^K=J7Y6(CW,[Q91'"[0S"[08U7!UA'EUG=_\1 M9M59,,T?89;=X.;[(\S5L^73!(O6G[++@WO9P3+UIT[S,&%78$'Z4\-Y# \\ M6,S^U(/6CO("R\B?PM!]N GA>KD'0&>X"'6X&#W -P.$P%O.ROHQRA"CKNB: MA*4:QU;.%8R.D&(5"A485#AMGG:[X@M,'MK?VC;$I7A5]?2VNJ^/FJ:0D8C. M5XU"C5.Q]3E$T/C%O$T?C./^[>"#,8%TTI/S")TH()W",GKX.=IYV:/[QEP6 MK;,X[XPF=,>UA2[,Z IHX^C0AB@#'V6+2YP7%3N-_@O%6?EPR7_@+L]K2I8T MYA:^-7^3JKVNF6M=H$%KCS,>O^ST M3K=> QZ(U92,O2"4_["K8 GA5V^<Y7T# M7 YI' &$!A :0&@ H6-A+J.+ZIBP:1\*Z1$&]W56:H\P=*^S8FS9-O)+M(@Q MC39U& M91(N=8A+AEU?B.QM*.GW$EM6D!R*#"650$\I)5;"]513L/+IGDU.? M(4N*>!T56;'4+5I]?:?OP&1LG#9Y3BA,>();,\/8N+[<_B*G\Z_7H@$T+2 M@)_G9Q^_4=@*.9R-0EH@%-#CN(QTU\WI5\;XXN%4D9YNT;3!E M!U/V<9BR55<\,=9H?)&0_* @/6FSODA+[1< *96^N$D@V\O,L#"0(_=.Z9IAC M;^+[ \O&@*HRQ)\2R?_[7J$#+^F>*UH3R(Z&K-UYC2%N^=VV2@J>]'T][ MNVVTH.6!793]M*>,_?"OS_&_"3VMBI*LV+YN(4[>:'#Z>&72^>(5 :V3"FK; M@ZOVBN3+#&]0VH0"B?WE89ZO8Q:26MMV6M# MGB0\>K&X00G"&XYAY*YR17.KM#-%EU<(;A3=&US\<8+RY&$5TS^D+G%HMY%Y M>7XA2^(^@G8;FY>W)7S5;+07!Q^+@VM$^2_B)?H 9>&@RTC^W7QRL#T@W]$E/:2 O:QR\@GQF/'U T[.FYJ%,?5"2 #[SN,%4,39[SB M\P;E%?J"2NDJDK8-D3\A'33$T(08&GWF%=83HF6XF+HP=! %,5!\/99/.W"4 M"4D*G'V1%$ 1)R9*KR_R47O P>C>EX@1W<-'!Z_Z(B.C92.Q;?DB%Y.#&0 L M_ \YTC6<^+)@^KB?))8,_P.U(-['J2\6-4: ^*1\.41,SEB8Y\N7W:(E(: K M>KAP(5=.DOZB7K4?>W)%!"'J5?)>(-Q#>$PQK?"@C".,605[;(XI6%7;&60W M"//G:$E(^HBS+(KS-"+E Z(19E_+EY@1&<7U%1DMZL=!HWC% QC_:EYO(HN6 MAMO(QAU+P+C-@:FP%.IIA8L0'3IH':;]E-J=W,-HN[%HL.HFO< Y+M$55\,O M7PAK%/+9 >';*ONS!3O9_XEB>L$Z"'RJ'4:,/DQ !E_8UK][1-D&?29Y^2!R M@W<;=!*2Z'4A3&H-U,222A2U83;89#B_8U_N;]+KT:;#^R/IC_-'XA[?7Y"H M(+^\4_3#*)R$L*1>+2$6PY)&4Z]"@)/_ 4XV#:^.^F^F8'C=('I/W+04]:N_ M#[>8O!&A0",:SH#KE^3:M.CA#+Q>R:X-? WG>?1+="V(?3B/I3>BDUJ]P/+[ MN[9;AI1Q-C'IM4!+)UTS*7^5@S%11S38]LAH?MPM1XP1\<'_,JC_A>U"E&4H MX9E!UY2L$2V?[VBH5F>GE VH^)"!0;='7 ::2[$/GU%1GO , T&ZN\+*7-$\IE%8 ,!S%*J1/"DOQ>F0ZKTD<(?@"0J>( N>(%WE*3B CLI8O3K:.RTP)G'Q)HS*54R>C@B\95AT7&51?\V5/VO#].[[=7/;] MCR0)0S^$R/KCW68Q]=.T&!X&V$6_-K+)V>8MMVVG(R*H>6W O"Q7'8 F=A&[ M;L"/4;Q_YZG8016BJ/%IMG]XA/^]6C$T:N;VZ^=CEMQ\?1(;W'J#NO5F MZ2;.2^7+[))F/1#1\F9(BVKZ\@J-Z"'D'H8:AID;E)!ECO]B%P##)B5>X/C@ M"JAW1'$=#OA/[!3L[3>(T9")FE_ZZ*DM_.0%9%W?O=".]> MLQ4K28JF?1"S+_)8TCBIWV:^05DMCN(!KR7/_&AV[8%8T2NWAU3)7\(=)O:K M'W0"BO7J$PA9\=738.AI:O35AR;!$PFI^MR.W-MR8KM?INY3Z1PRO"@@1;OSM2 MM:,^^=H%GEUG,>,J3\]9VW6;&0+ MD ?2EPP#R*8#!9_ZDIP#%8@\:L*7Y#:H-$!A-[[LF9!Y.VA&J5&4E"_'3\)%P>*:RKN\NI(:.%0++-^I//IK3;Z"R VP0+5K:OLN4%6D)EBR/WOSB.PH M,1U@.?\25C P" XLTE\G+=(1<@?ARKE/3P99CY^#B]D+$-0>A0(7@OX3[\[I M[B.5-8#+&(Z/W >0XV81P&4.!UD.R]R)XA-PF<.!UVN9WSFGU(Y9A $N;S@N M.^HU+J\1 A%7V9"C=@K[X2B_J6)C+*F5FD^8Y-\F1?LAN(+02)C<<,1Z54FC*J: M6Z6=W]+S13/UTJQ%<4.[]+*3@)]G7(@B2EN:C$;C5CD!D+IM.5:Z]R$I>\<4 M@.[WC:W376Y)N6,?EAP7LJ:CTBP]+N2-K=+-]&F2;3AF?'552,\-4)^0)!R2 MA+LD"8/4Q) "?#PIP!+-D.AJ8K[(1()(B X*\$4>4G6 Z%W OLA$G=2BPK6^ M)&[ =HN&=N.+8-1+1*UG^R(+\!&B ,\#)/ XNC94)AM?5H9" 5&998=+6')E M0?27)SJ5)*20)PIR#8K-=P.<#>Y[2B$F0N^N#[!$1,;'43R\1?* TBI#$5E$ MJ[BL*#O7NCEZ(2/:]??"*0INWV-U^T+6B([W%[[F@A,X.(&#$S@X@5\W&>DY MK$,2/C?'%D;%#5IO"Z',%]<4YPE>\SIG7]AU>?>(L@WZ3/+R0>;"-!YSI/K\ M6C3_$\7T@E3"!6@RUE3XOF,?%OGWS :;#.>/I#>^'\F(7(=(A!")$"(10B0" M"+*$@(00D! "$D) 0@A("!Y%=SR*CHLAA!^$\(,0O>1N]%((2 @!">;*A":#S]$ MQ0/CZCYF8HGJ2B]YT=1E8I\M*4Y*]ONB),D?497C,HJ3$F_,0V]Z^YZEP)R> MZ0UA.X.&[0@-Q[U-(RBRIN=%8\G_,'N,::IPK;6VL>R;V@GPELOO*Q-?<7/[ M5>&; O2QZ^OAR^.$+X_3@]4QHS3.E_5".GG>-]F^[5++GI2]FZM^P-Z?-D=KZ0?,-N M.91^J207H;7O1S\&^0XJWY]\E:][!PN<-']7_:1GQ;>]\EO-]VA:SNO/^Z?< MO^;/O95O2)];LU.(V-];&/*4O^NES/48\E,A7C7$JW:)5^W/$!BB68\GFK7= MR$IL'GF^B%(=C2&Q:/L2KJ1<3QKV<5]D8B-2:?+Q?.-%*JUKW99]GY8N^N]' MLZ,-M_V"Q+7-.]X=!"/-@,QMXEUDK!,RUC0:#!"AY7YIJ-$,:&!IPY_1/,HE MW\E.!IX$+][6=" F!"QP^.N:1[GJS:,_P#.@_>QFHUN>YT>VZ!4^6["\M9_D M/'9Y:[L$G8FY7E1\YPK_C)[XOU'_L==FWQT_!KL+W2$6>]!8['.V*L@SXI9F MMC'1]J?:P-CL5W%M1$,%SU!$\AA=.B.0)D3PADB=$\O2[GHQALR]. M[!#DI+-G0I"3 T%.):*.E76Q:IT:;I=Y+EB!G6>X+7L,\FPS'0X7?.1L92)K MQAB[+K>/WT=_5C%E"SE[CA8XC_,$QUF$\P6AJP:O57E<'3:"?VZ<6DE#SR[(T&]GB=FRJ,XSG%6EV([?WGHDVC]14A37E"RPZ!&K@Q8CT?@%E9?@#YBBP7'<>RFX!X['/6## M/C=9$V6PSPE!>@\WX#$9W]3ZWC&9SOK1&@ ^:P:_ ME]R N&-^N&MTZS MIC*H]; D F"V"9A[I_.WW:S/LHP\,OB)BEF>WK CAV[8/]-_,\VQCC82L*#= MWR'N3N*,_\J(LVW?D>IZ#L_7.)4QY;2=,AUBR3 +X5Y$]OOS)H[2B$_!6".9 M ^6TGK$S.JGS&(U8W7<'5N2@,I(43A"*ULO M%_( ]CCWJZ\8W^_#V>)<+)UBB$6&,\PY76W#" =8,]4E;#F3#*=\2T;W6V** M!X1*#8,<8)#AS6Y@(H)Q;5#CVISM1C:;^9*M\HO:TXZN4%R@X@K']_7[VZ<5 MY5NKS7BFW=D*P5](GG2A>=^_U\H P@_?\.([9%$5B/L?W]N4C#K;S=/?PL7K M^)GKR8(5 VH\"MTW*$%XPZGY@DH8];(NMGE@%V;:^";OXB>F,ZH8:&\_DI%G M2\]N]V$@_>+VMJFO5E7&;[&ZNA:/ZJ?H@>GH>(/V_F*V1N8+<82>X2AV.4U3 MS&_].+N.,5L^I_$:EW$FXDC>VB[EK:?JJS^.5/FB^;ABO1^V<8'.V7U11]! MZ'W;UBK5IW'QP*Y+_A]>"F\39QSES,K3F%)NY92]1J35URY79+7"#6#C!)*< M:P4H3]A!*.)%W<,Z!]N(&>D4")I9IO5]N)A*,S;H:I6GLRU8/\Q VQ.6Q46! M%QBE8C6ZZSBC<\OK/TAO!7FGD32E'5$OJEM##=,*%%R(.XQ+_X$.I\'$ZUYC M9+$T!B0&NW\;F1W\;O&SI#L4*A5G>P M2S_)EW>(KL[0O<)4(FDY&L5*I::]\4AG7FT,V)[$*L*E;>U3?7A+@TAO[1!] M&(6#ZYT_2PE2)"UM4[R.\W1&7WQ/B'*-J#I8I?^.HKBHZ+/R8GK?T,\P5Y.M'()80Q!K"&)U(HC5 MQ8 Y@ ?+%X'(63V0B8$_S)?M Y81/#3$EV*Q8-&(+;.^Q.*"10% WP/FQ-LO MHPG?/K) ![!(''_C56.90.T<8-' 7UYU6S3MSC6P&+3?0QTA=43C8-5WV($E MI?UNJ.+\@MP/\&%HE\URGF] MQEBA<7R!P" UU(?M"ZX&\-L"'&49$;ZL%VW)0(+]?<'3>L+1#S#U!6P#Y=0A M16U "&Y?1S;:<^H$(5\PN9YXE%%-P^'Q$;0<3=DH@^R\0NGF"T<<6>85.-<3 MD&:DMR\0W4Q(ADD7 T)V=]=7U[3O ='\!M%[XJC8M*,S_0+XQE>?.=3W0^U^ M@2? M$-?T!O,% (-*//%% +@][5W5!Y/[8L=1$\L\EQ8?S:0CDQ )09\L7CH MB48WM'PX:X?+4NI4=6, X\>X%?=T) <(+O;*"J(G'76P^X!6$->%HYM'NA>5 MS=)Z+[\N(K*(DKAXB!89>30MLJ<:SG*Y/1@YH?!>/X7W>JB\]%*B\X[P!Z(9 MAJIC2_=WU!WAD;G7E&PPF[&3YZ\%-Z/M;1Y)B3?-GE,4[QGP4U9E=E(53 $J M"G:GW^-\^\CV%H&6[%\%(YYN3UL:L]_6/)\^\']>YK,5]\?.%X(N+R:C#P(Q M6OZZ]:I*;\+ ;Q";:9RPHV4;)O[Z%PR%'\*Y6>6J6QWQQN&3FN0/GD#N$69V/0R?5-<5,$5MS2]>S M[-DI:1]@_F__I;*8+L\5QWE^RZ0_7^R4(P$/HN:ND/\J,>,E*P/(3'OGL5A[ M?VV\B404<*7L-]*Q+*9KGY*GS=*^JU/3]"8L4H>M-UV=F2QI/".80>DHSO!Z MH- 8K,W6WNXLSUVVI\ZZ/.CC#B,O5HVM;TEA/=$?8&S^N-MC;[J1542%=79H MZEY19W)2*D<8F<-M(O$.(FT3BID2>Y"* V86,MA8D\NSZ%M,CMLZ+XQXW(9: \W-OMW9);\66%&V=9LA)KXG=HBV/PE M5; ,&<(9-H5E0J!,"@<8C45*$H32XH*2U6515-R@.5\<)L^(6 -W'(V?*[Z> MV$JJG1< -EK;CT9]BPD3LN+T1QB5PV)OZ>MG MM/$XYX%8\W7M[CA_0C3!A?B@A/:S7(=YO3W;V*8'[#-A^[$.OE<$J8\[4?.Q MR-=2+P3*PSC6V0E7O.8ZR04/W8-7NA9V\:'"]5139 "S$XH6AZ+%H6AQ*%HL M2"OL:E7R15H=Y$! ABWO-IAT60T?$.[+PAM44J\*0.@&$ ZP8L=,5;,E:,/8 MK0&2<8]1VL*PO^$R>D>IQ6%+OC#$[4LBL"VICI+H,US=-:]W@&XN@3]5%2"* MGFGLV@#JVYC7G8$8I$($1!%[II[U+4%98*AGNE;?HC,*ZAM O_))IK#0ZP'T M*)^$" H=]DS-&>IF$:3<#%=_Q1?I*=)@AJO1XH4 M=)LP++4+FIK5Y4>]AP4 MIAB Q:==Z7:$)NQ/);@.[B!PV+AGL*Z#. Z+4YH'3WH&\@:2IT[$ MK2_FF9Y$V4?N#F=$'^&Z[D>6YOE:OG@D.EW;X/P]7YSI'>0@ MV,%7XE#ZX[B;-64'#X_V_"+NL.8@62B>F5L'6'RRV';/[*P]+<%>\Q<',,-. M7\1ZA;:&L\5._80$I \-8(>=_OKK+3UW.,NL.UA%4[;FU4*&L]-.<9^[5K<1 MKN;K/WTVU;4^;NU9^(QHQ]*O:]H8Z*;ET,N;=G.U^R^/?(N?I4=7$7Q MYN'K-WG;L$YV^=C)FD&C,U+=EXLJ>T^F@BV=,<:K(O&RU(Y=4F M6X3AJ L86#KQ0NV#4/L@U#X(M0]$2>H:^H9GSEZ@@#II+L,Y>$=YK1(B,)!F M9!>4_SW"!YE01;5:Q?29O]^X^_6S(?K6']@2S#8E+.#I7( W',1YQEM3. \.1G MICB4<;[$O()!W-2!:**&"O:7*(DI?<;Y,HKK2EEI^&I6Z7?;U6479##&"4(27>6/$3Y[O:)P767T4[VJ.*CB"#S *?^UAN J>Y)W&X:.B[%0I MT-8QQ>,R]Y4A5>Q ^H["U>\4E^PNG2\6+[D:KPO^=XF [']1V?E%1=AI7%%W@)_X?_H@'+W%1E8@6G]'J M'M$V@[=&MR$-_#VN-I YO_?5;2_OL%I5]64,>?!,]U'ROH8?R^AV4N&ZT NC M9??/RQ6;S$WSP%#[-C#I:Y4K7J2*7=L)%WD=[+!D^U3.#*2+51ZNV!Z:<9TD M3\$S NICEPN.$'@Q(3@/ZAY6.?@<,QTN1_3Y<+M*.0#TL,J!\- Y>;YC=+1< MO 8]W>"H3M?29>95)S?X$ ?,R[J,%$ O)(FOD59-TZ!G<$4%5U075U2?^FMP M/!V/XTGG"B0=3C9?Y*7V4FDK%;YX:0R7DH92[XO?QE!2!H#4%T>.Z=J"@JT! MW#I3DA,8TOGBR]&5DY%E=#B7CMO"TC8Y^7(#VHCBB.%VG+,I;CK&-;L.^ _?1W'STFR$FM>WB_>_,/.TFPQMR:5N3EKP MG0_J.]^^>KQ[K_<&W;-Y$Q5S!7?H@; OA#^KOF8G7WU(,8VJ7D[;9RY>WJN1 M4&HVPI"N?I-= /+IFV\O>\[[-X]K*^L%M[++Z\&09G=K!974\+JN0 M*Q6L+/I&!*7NX=W:D$JD+XW%.[MEN]2Z(B=?_' ,6E X>&\;MPE@UPTP>EI MT<.YVYRU48(QKF4#Y8<(\^V/HC)^.OPG.R01?Y.#'0Z,WN;Q4$-#98=/V#)8 M=B8Q&"X'-5PV[T?B#7]=DLW-7?S$7Y6\>34Q-ZBL:'Y'ZF?^"GZ.[-. KQ%- M!(;#GH>VQ"S[Y0G*T0*7S3O*_+7?^[>O_9Z2HNS(N>EW!C6L=MBM, -KY^/ MDMFE?08;A;=B.N_[IW#?F&3@ XQDBH6LT5EY@;A6G_&;N.*E+E\UUF+=:&3G M)'):5^:YS,^VJA-K-*MK]OP69U7#V>Y%F [2T?A*-$Z:'(2+;4+[JQ9GF'7D MRAF.107Z^AS:.9E\PEF)!3='QV&!@0;SDFIP7?*>GPF0SE\-M3JSLE;=>?\B1?AWFM&W3>*T7?VDG?+:DCR&=DP'[Y6G]K&47KO>#A**.P?_8E_^Q"Z@)?LC@APQ^ MR."'%!BW>\?2WBVDSN*#:4)'XK8<'GH-X-AT/R>AHV[J2[(AP!D\B-/ ER3$ M_A:;G@'-E[S$_N0G-L"!9?7SI&5EQ\T%%N8ODQ:F'8,66)B_'MG-J[*;PG5F M..;P0W(='%5PH6HC$6=#EI'%3AS<<84G=56\2EF94GQ?55RZ^$=V2M#VYCJ&:7\0I(Y M4OL;./B-[/N->J?S]^WNF#6;XTN]-^:+,YRQG9 V:V->E6ROY;Q\EH 1S5%& M"OD24/F./+;P<:+'J7R,H_$$#GX$!W=ARQ:-'YJ;MC8]U[?LSG3Z]H?"](&F+I^P98?H3&(P,0R;C<46 M 'E&/!SA"\G1]J?;DB1_S-=\:L3/,&EV'=0>TF&9P4P=G=>QK7I'6?VA[7'8 MXK:IHR8$4 O6.?HP#F>/,4T5KZ6TMK'\[E%]M_--H'CL2-#.MLV+X<;][QRV7HV'BKJ)\_O]7A^,.U/ISSE M]4V_Q"OYXSQ#?BK8DD,.0B?+8Q>-*!@5C\>H"-$8B-'E[(N$VK568O,>\$64 M:O,M6('UQ3RIN?\Z*&"^2$R]B"0XTQ(WA,WRRZ:&5^=<6K=9W'R1Y$\L%Y%1.JS+UJSS<\= M<2N2HJQ_)Y?V)\=W>AF2')Q@(\79]CB37?U,ADO'%:NH"*%>Q)CRW TT*XIJ M5;-5G#\AFN "73/VA-:WP3\X9?FM$=>ZSO &I^S@D)3.L_;=Z4OS-Y*Q87C] M;-OR;/_R="5Z@XL_+BA"ESQIGV$$6_*4?7<:TFQ 9?&)-2R+R_P:44S2-W%1 M]1_/&&LO(NA;MMVHL"_I=^F_[WF\U]F/=XBN/LB$.N@'@^.X&\MSIZYC! MDW<\GKR0'N"T;,7HS3LCO3WAJJ&'=^9_FRM7:+X!2W7: MA4>^/CS?W M[Z"^1KVO3U2VK]6;3Y040AMQ_U^:J,P.TM09(J0X+W RI*M&^;VI2F_0T^_= M=Z(?@[RTY/73U.4UPFT!_/KTUZ+#LIWFNOT-%9RA/'TQW1#^JW&5GVY$3?1^ M%S!]L/QFRR6M2S%;N?\[T^.9] >]!J&?=W5MAP3V'F7V&@(BD1FXEY.X5R(F MMSHAUG8K8H93,*:,3=Q$[^T9KV^+WH/BE!^ M5>RV638W>;V4B@/OWXM"E0IYT1THRG\-\.)+I0_' M16,C\G\J,<,.1OZO&ZVBC&GI8F6+P=VPPVVSXY&LCJMQN#U=(NIF=18+H2O# M)0!,5ZK#F5H'2 QX_<+JG;-"[PY*AXO_]W>I=G*^@ 6N_1YZ<\.=YTZ^"#QX M0!)8KMIOIQ^+7'7":,#2]N)Q]=&]!&!QPY]?=UW7/%9N-I/PFE%^1D@ MKG, ZC 85](GNC2)NK3 WGS->*OW+"3*$\OF.2]O,RHWO>W0_C-R\$RJ\\5+:K?=NZ5Y'KP^>+K;G#QFI6W'+1,2-<# M&E8F7*D[6*7_<'>J3E&-+N/S(#Y6 M]7J-QLF;,PK A:"'50Y>3GZ=%07KY (?RE4%[CH3TBE"K?-.N06= M%96047 \&05*S8_HZUF^R$8=_PS3FWT)B0>M%2@6]"5('BP4#8/3<&&Q$Y&- MW.#ERWX**29.IYBXZ)'20!#>[1*I8,"@?7 M#)!'X;!DX+;) 5,DIK6U5.ZOX5(;7%Q FO:[X?(37!2.ELE\N&2"J6XPL:=V MK*"9>!?1$RVJLJ)H:V];-]%!W8-E-,>W'B1C1%\(CAGIL7?3:=-TF1LMBC%= MG3H.3G>HWH8@%F?"HKJJ;F;!(X-S,UN4B/X3Q?0";TQ9>S7&2/7\5#1^80?A MW2/*-N@SRTXH8[/94T>J405EZ'='>;NCGVKR^35_5WF[Y%T MX>Z1N,3;USS%14*JO$3I^5."BF*VXC_I<"@:(\I_&871*T8!0@)\J;X,H=U' MNA2AY$$N1Z.Q1EJ^4%J!EZ7I<(YSW].$3V2N%9>I[C 3X%9VN6J/,P5^A9>M MYB@N\JIY^1J--=8E+"!3P)JB=0A^#,&/_00_ZIJ<0M#C\00]V@B\F4I4A8.! M-\[61.AJ=QMN\3@KLK[0UX!A.ZZ*SM#(-%SCQJOM1) A?8\2GY/0G.@\A\PW EUA_"#7EN6P])\B4CX@&F4D7[*[=_6J[H/D M3X91ZCU]SE;0>J_DAACV06/8>:8'+\+*AN:'QY*B>B:W"@"P])_V(&;!!*+Z M?WQ%M6:YUW]I(UC1)3)ZA%D[2Z"G?0)+&NAU4]HJ65<5[&8HBE.RNF?W(E]< MO) RNPL87^Q?!4[KNX&?6M"R5[V,:3<21+A8!2R*.XP4?3OG M20@0"0$B(4#$B0 1%]%?C]?U,86)]**5#Q<BZ627UDSGSA> ::;,^@#I& MN1WKBOW%"3/$C+5IPA,)WC^18* L]VJ.8Z5^O=!S\OSRS__"3-XT>7B^0AN423:47N>Q^/K#^V/^8#[S$Z!S]H<_"#"QRTK0SIZ:W1; M69LWY1CC2N&0%U!,_.\7AV MPGLG8MEH:N2DETO<0^$I-7^%Y*2JG2_R4OL7M;&4+Z[7'I>27-GT16!::PEL M;/!%.CT<7L>TW/XP2_ZL<($A M=QR;U&J%TC8N^AW9^7BV'@D5NF\LG*N@X#5KY[LES^%IO,:,LO.G-;M-,*]G M6UPV\,D,-G]-B_:WUX=E^4-$Y$/&CWM\K=FXM[?L^V9X[2R_S\ M*7F(V<%]0:A>1@SQ#_;C'_JG\^ R.&4;X()=!9?[FT"Q:S1['TMDAXTK M.41R'$\D1\C1==.B['".KM')[(V(-)DG0%W6F\W413YR8.*-B$"[S! U^++/ M]-DG78&Z+^O+3'1#F?)\B5(PEZJ!6=&7> 5SH6G[%GR);S 7F9:W RPN[1^ZY) M2G"?]^,^'R)C_T"_ND$9G]!34I3"^@G: XS-GT!IG%'*#]AZV9[69^UEWI0$ MGR]4>N8'N'"&^'HT3ID QA4[/QX0HVF#&JS,(/)\P0"SR%\I[C%295 )10IW M@$9/RQP5C(I/A*0%NRQO$=W@!!6W)!,ZD94=K-)_'M.W-3 M56QI;W5N=E^=H 6AZ,"4>O[$#D>&/MB%2)]K';ZV0.0E4RDSKM9OK=+2:)%! MOCBJ#%^,L(I[1]%ZG!"?VK!9H!.4(_%J5;0>)=AG2XHBV.=-*[O!/JC<+WE1 M0$];&[>I'&FOO=@"E-2VM!R+YCH#[[VZ><%..;S,F]R\Y/F.(8B"G00<3>1I M_5/68(OTWU51\L-BIZ!>$UK_H2PIOJ]*[F6^(]>QJJ2_;1J(O--8ZN4-VJ"\0CLMBHOT=UP^G+)]RHBC MC,:L2KG)M2CX0VJI&-9W&,EN_!^JU;U/3.^@<<8.J%FZPCGFRXFG',HG4:]S MB!?U(%[T=\3=,2B=;=B4+]&7BN=QSQ=;M%XC]V)>E449YWQY"QC1',7L::JA M>'U'GN)L-QW&25YEIB>M,6!S.LVX&!4>#;&[(78WQ.Z&V%U!5&%GW=&[A2,5 M%]19,UR0F[,OPTB,X;Y$KP'#X0V0BB_!:L8U54!!"P/$J+E?J&>D((8!(MC< MES78NPJ6#OP)]NE)!^BN!/+@*Z5,!-DVK-%Q( M^L]7NKJ-+,8:P,7K>%J*CF05L0!PF?CSOJ7420X7B!=J.B"\#RX1Q]-&S"32 M&C@(EXGCR1\PF71S.0QG;1OA469C41B(L]6Q,9PQSB]I0IU_<'G"<9[#6UD[ MIMX76[D.XR)EP73E:*->%U?.(#%%OJRNOH4#D+N%N, ![QK[X&"$*3(,0?3* MLS2@V#5RW:SE'M<%VSY&\=[7$:TIB>IB.*\*L%5Y7*68Y_*:513O] U+M<)[ MH#&D,0]:!7R6;N*\_(Q2G,19^QNFBF8]$,&M?BAYV [/-C*[P,[B0DF53K\A M2S=W6N:'# WSA5&RP0^X[$4TC=F*)=94!U*(3+'T^XO$HE:PG" VJ@OD@(\' K M1*WU)488,\=[]+<1$OE[0)1(_NGZ/R 46K^-^$1IS8ND;ODB<41G&>1L4VI3 J2&;J M_;-&CR5/H65^@E=QR.+(!2T/#%WLISUE[(=_L8V>5DDYI]OS_,E.R\1;327,[8O,E*G8HF]H\ N/1!W1TC6?.5SS&Z&'-%G M,5G*QD-Z:JT=,R"OKN5#SY+]>KL=VE> K$THS17\(,$/HN,'L7> !)^)_SX3 MI=)%M/2=J8M#;=N$::E3-W-#E@7@7I^ZJ1LD!@T%=S@[F6/RT,(A4]\LP221OT'(HW&BA,T%+B,FVH(KE=5J M%=-GKG*^;I:2ZKY<5%D4-ZZ9PM @:HL<2_90N^P$<^BP219;X=^\3.EL-TL7 MA)[64\E=:?+7@3VH3XD[5RC _QUXABDK+OT]+% "@S;%UB-\'BY>LSFTSG.W1-<)9MFU2G[X$.$Z-#DJXZ?#?ZYW9XFA?5%_ M8$N60E/"@LUO4)N?$(OHSQ?(WF6Z#"R!U*9*67F!^*L$&?0Y8V"O43AIJJ_I MFY9U&>DYU2U1]DE/JO%M ?8NM58T9L :'JP]5N?@VFJ/9"'J"U;(K#N?M<5@T M.L8PL("TWP=SMGR)ICD7+"'MU\*3L$C(SSX(%I?_0KNN" M,K$@@L6E_0+O!M%[XK; ],SC<*U4OP*?JX>4IM4=+J(IO(?4Z179<=_7>6W< M2;>"KG^(BP*538QOMGWX'B/3I++.WQDE!L28SA 2,FP:V*X8Q^[88;OJ:C\G M'*@U2E-;X >X+KP6J"50P(>YH*2^P\^ED$ !E M? :.%25P,$O0$(&#+J:;OC<^7C;+:RH5K AZC1RY\4+5)T+21YQE;(M?LKLZ M7V(>,5S_"W$+C#N/1_>7]V2YJZ M(O7Z04\HW77CD6/,]"_R7:EFE!XV."7"<)8A/^6:S&X0+Q6'>/FO69+0*GY_ M4?XZ5C=VN!$JNI-V?U*SJC>>6 *XI62-:/E]G M<5[R=P#^K'!=D$J+;>$H8S$;@IAD)CE70Q &QC0AIBG$-(68IA#3I'" =-'0 MO%L[>A(38,KAPI62?R2MN=AN+"E"<0&F!@HAXMBFI+ MY*;J(PYDDMO\!@Q<$J+!V,9L<24?U9<.'R\Z9ZE%E,!5Q05HQE)_)":.6(#XY^ MYF^>[=[1* 3/C8H;#4[?EWB%YHM7! @?&U6V[2-0%3&@LHZ3^D3*"R1^S%/> ML@]2*L8B*?%&1H2@30^?/R5Y43$1BS_>WJ*/%U\SE)24Y#@I)&^\BAKU0,!E MGK(%1G&R;[FI5B$\!ILB!:9@G-WF)T6@D3\#Q)1J+A$2[NXJ *G1"$'?L-%"C@E! 7Z MGOK]8#.NU-$+(L25COZ6L2=[IUUI<1L$++!X 7J,QL$UQ7F" MUW%V'3]SH8LLC* ^HW'Q)KYCMN*&M;_JPP; #Z#W:)S]CCAQ*)UM$&57R1DN MZK>\;M@>V5XP ;5@XR4_2TA\@;QXY-=J?4?[Q!=?=#GM&60D3BM"9 DI[_\ M?:0* B_?G]T7M7JCHO-M.ZO4;HOK;N=5(E9QPQ'I51RU\L8CTFU\%ND.,](> ME9()/X]TAQF)VS>WWOR>J50YCP,\?TH>XGS)7Y \/%J%Y<2ZCC=2C9W;!W;- M\PE0G2'BAL$9;-\9W#N=O\44\X^KEH&PW=&XKB%(++BI_7=3AUH&P>9L:'-6 MP =?A"%FDW0T0?BR<;0E)#6<^>+" DE%A6FG'NN@)0R%5C;UH AH@\?1FR0$+ M3_MEEQ$*;6BO+'W+'URYTZ^>X*C NAI+X2+3?^[%49%U\^S!!:;_1J.C NOJ M?K 6L9.0O" 93GD>_-[Z5D1DP7XBR1\/)&-34T3HS^K #J\.WS$;=_A8GBYT MP0)[A"FCJQ7);_DWYE7)OISSX"U9 JFZO56C]2Q)JE65<<'5E9QX=3F*'A@R MQIOM4Z/MW)CVM\M=FF*^N+A2AIG><1JO<2E*,]7I8YF+?U=%6:_H.R(@K[T^ MX WB8=M)R=_38TON:X[+XH9O@@*7Z!;1#4[X685)>H,2LLRQ)-#%,A5C%=8V M9[/9U>OZJ5[[0C;ZNE7)GM>'+Z>9Y(S!UJA'4%NK5']!Y?YE9@&UK6WL1AP( MSEY.$*-NON!QQ-P4S#2SDFW&^ZKDQJX[4Z[P"\HI M@!I;CB)@,BL.E )A$,&;=M&/$Z/WIQ'IY0?I!:%LW?*H>ZX6,HK8+]K/5"E+ M>D.-_D[$FQ.UK3".5I\0L@*A=[ZX/< ?C3P5@9%:?4,@3BN=3&R715&A]*RB M;%/R&:8$:R$<.R@5S@E]>517U,,& @^_R^.@AD M_+QJ.)9ZT('B<12$.XKBHJ+/-4%2K5'2TJ,0/J/KZ$BB]@RBMM2ZE'="D;), MM"VBOD0LP>6C;Y'T)7Y)6T80).]+/)/^ C(STOL2\Z0M+^4%/_6Z+\:2 =AE MO3NF'8S(7C>HK(QI:==-#@O.5MHHAULCKDM&B<^\N\'5\NAB8/'N3C<1%]A< MX=V-WF%QJ8U9WMWR4FF-XGH>('S:X7=E^O0?#1!G[;[DQHY!&2Z(V\4301+6 M,%Q MHN"Z#4.8L#8[$;Y/<^=W+O*0( !([#=%HS2 V(M;KA.S_\AHDV10O;? M_5&8;*L51G'S7"R;PR@[>.'+K!1@+]^R5"NP1UI#,<%!BPFV5=:L,Y#8L^@,-?]EZM;7G$U5AM)M8<[M[?_7>P]Y[P,/Q.A+$M4!+;=QAN:+DZI@Y]#[ M*,;N(PW-RHMX*W:I\MKD.*TS,;A>ER!V'Z=U0=5=_69M!@W''YKM=TOG$,9J M,RD=S3 ^3;>:9R]G**C<9X^GM:4 !.'APE1,022"K,M(@1]]7R. *\3UO_\+_[YXM M6_:;_Q]02P,$% @ 0X1P5L=DQT5Z^ $ PS@; !0 !U9G!T,C R,C$R M,S%?,3!K+FAT;>R]:7/;2)8V^OGVK\#U.]WCBB!E49LMN?DR;,^Y^=!-@R] MFV$8I;^\&F39Z.#-F^OKZXWK[8TXZ;_I[._OO[G!:U[Q10>)[)4NO.DF(5VZ MM;FY]P9^-1?B#X&RUY:OXQ_-I9%0?EJ^,I7^1C^^>D,_P3U;6^YSU=0A;+]1 M49J)R)?V^C2HFQE'5I1O,4%04JDC^[\?SSV^R M1$1I+TZ&(E-Q!,_J[+8WW[6W._:E<.F/Z0N*OSJOK)_-;>_;:F_MF8?D:3L; MCV2QB#V1=NDIYA>\Z6U[L^,,,DVR:7?9GVINR[-$]J<28/\-_%[,;=IUG6UG M?LXLDCB<,@OZI6X6V2BIYQW\I<0Z$T0IS>(VO*+%\ M5LORN\SR6<&5ZG:N;%=Y.1OD42"3(![*TMWGGWX]43#\?KKAQT.'4/.1Z:9V M[]\RED"J^F6''TJKGO=&90['+W"<=%5GJ\20M:Q8>IR?)XF,_'']R\VOI5M2 MY4_A$.67+I0W_J#^2ORE/(PXC[)DVBCXQ_(RI.V^$*-:WL8?2AS9QUVQU7GWXF_?S0(K@@_]7&\]^J(GABH<'WC_ M^"N/L_>7:BA3[ZN\]L[CH8CXR_?>2 0![),#;U-%WN9&1T7O/>"9-$X.8 QA M.Y'XW/>O/OPSN_?SF](P'F98Y[*O4CR%LJ_PR[115:[Z\/WD MFW=Y?/3/KV>?SWX]/;[P3K\>/?#P#H06'ZD$WAA-# M1#T1@DC_0/\\\,N/2-AD)RKU1?AO*9+C*/@$6^35AS9?_,#O^Q3[^="^\!L\ M(@Y.X+OTU8>3?S_JNW!R^DUX^;1WG23"1PV%^,/?W]W9WNV\VWI5>K*3>;T6B ='\7"H,AQ$>A@%*"]@YX)P5S)]Y>&HX-IM$(6I.HA4" R9 MY+#T9FQF++,'MUTSN,ZR#.[MO"L'K' Q$(FL#O(;Z.,2>#2XR&+_QS>1G"47 M&QZ;R;=ZU7 M8SK[EAG@WB! Z?X&X3Z+3@",#_+32+_8_F?;N"[]Y5-*$#C:!EV\O[>?073$LUEOC/CMED\S&;> MVKS;;I[OH%CN.=SC=)B8PQUW-8W_;6NOTVEM[>PL,ORMS7L(U(GAG^49N@[0 M[KKK'';?=5I[[W87F\,]CK8')L'NWDYK;V?!X=_C:'@4$FSOMC;?[2TTA\X] MV.@RD2+-D[$SBSONX/W6[N[^8N.^Q]H_X[AWW\ZWWG7FC$@'Q^B8@7&B29,= MB209 [O0(?;X"L7NVYT[6V+///2]GSG[-)#K% M).[._4\XB=U.S20VBTELKL(DJH:E8:?M=F?/_?-CGJI(ICRT5.%C#F]4VCX, MKD24?9&!@I%^D<.N3)P)'W\_GS DQ)C\&)>QGJ5YLDR_RNRLAQML8OY[\\Y_ M#XRZ_8WI2[" ?^J/$P73D)_5E0Q.(SC/^JH;RD,8:)9^''\1?\;)42A@17 9 MCO(TB^'1GU6:I689RA.?_KCOJ>SEX6?5T[Y.)LW^WE9IUA@J/ B 4:1(4%/T M'L 'M] V%Y[JI"!]=EY^^^Z!>?F>3;M;6[OUFH),.&M+??/3[*;G49IEE ,@:9X M(>'&@.(U,@!ZGLN4O"1'<*JHS$Z;9_W'9SB X.2AWTZ$KT*5C?DQ>3=5@1+) M^-=<8*@I3O1*_7$.JR'IHB^P2,-\J+__321*P"J=P^OHYV^)&M*GB=/Q6SZI M#93G\E&D*KT8@880G$7NDSOV:&QOS7DV[J"#9VL1LQ HL+<:%! WJT"!V=K9 M(B?7*6Y@>2ENM,-)+Q9&R--,^4><$5"_I\]&,H([,J M*_ZGX\V*OCW <$_B1*I^=+?1[M)HWWD+#+F&PSL[]JB/['B7 XOT(O7TP MPH\RDCV5+6Y^+ZJSPYCGCFTMS9BW]J;8&0N:K8=1!M(@S#,XDD#"Y,!+2J;' M-WZ8@Y@Y2>+A$9QL>4:I:V>]8Y%$F*AD_.*'0^2UNWE(]EOOWB[BD-K;>KOY M(%;N,\ZYL]EZVUEPT@]C%3_GI'=:[_:W%IGT=M6#C9,&NWESKR((#Z]%$F . M$LD_/!)!/F4ZJ*:/KV^AB#"CA2ZY'$A\$@A0.(M@*?#'B5.L=@'I2SB]X,1% M72]*::4.DP1/33K9QL4EVBBGX;DNZ-.(\SX>7T!L[RWLUZH[O.\\ZQ.A$G+A M@7:;#T=X%W#;2")U/JDK!99!@,?^0Y_ZM4NQL'=LJ9:"E'Y8CNLX"5(95=<" MK ^YT'+4BM&9$F6MEV-G:Z[EJ,B:X^$HC,<2;5M\H_Y$,YK2 5$F_"16 M\@8:Q.\J&PSB$$,]\$7]&D\1'K>L2Q0OKBG76";3_):?1%IR6OZ!*W76<_BA M;"KSG=/,Y=XH.S!O@JEW521*UU_*9.BJK[N[;V?Y!#87T&!WW];QP\*"$]X$ M$SKK@;Z=",PNNY!]FND=S]!%6'KW[?9#3N%1:8U M:\8>(OV<)UFO=W52_2[K=>A3 CPLF2_5%9)];9>L3K6N\06^Q"7KQ7$6Q9G$ M6H4#4)+[O[R243M/6>KV=G9WNMUWO7?M=]W]M^T=L;?5[K[;E>V=/?_M_EYW M^YW_MOOJ@_?__.UO1Q)DAXH\019$BB/SLH&$_X$L]T04>&!H2&\(=!BD'GFW MO LYRF@1O.W-%ODA6MZU3*0'UC9Z755/826#S*ZEC#PD@X0G9S%2$V>.?^([ MN)XD\T:D='LC.&KA(RWT!DW;S))3>]U2 $K/ R++%#YC;=%!2I4T0!"/*L . M!E1,A_1HF_*+C9L45'O^&4LW?GF5*M ,*'6X_ Q^8>DE]#F-\X0_4J7<@69/ M6O1I4OR#OE92&K_YA'I4A@N5>/1665L6=W3ZKW+Y0?7F#^:K\M-Y17:K>Q#,2C[(/W+H@O&JFAUR32]2".] MVYIM4W![R=9,#^J^:P::Z^%H%(*&VPTGU\XIISE0(+ONRG/+LJ-+/%?:I NN MW\0<.\LXQ\Z]YN@*(ILQ;-X2D$G[P;F4C!"1Q)->?2WL>\TE\KS4[ET-G7F/YLZ]SJ;)M:FQK^R9&NS.?_:;#[8VJ!( MZ.QK/9L2[]' Q(3 ;(P^CSBBK$#2EXNT6"DG8_.6/ ;SL!L\# MI4U*+U#P:PJZI>/>F36C5U2Z>S!K7C^_J7V575H[HH7$G5GP!Q+I<]+O, C( MZ2-"='>=1D=BI#*;X[:B!#31E5ES6R:+G(%AG.#/B1S@>EU)SB98"TK./<]U(FXIX7DMR%@SHY4BV!*H=H\RQVFA ML49Q>TS%[?FU]+O1O5'X7C#Q&T7Q19&[43 ?4<%<5:9H%-.5([1JU+JG]\=5 MZ7??$$NCGCV#/^YYB-BH62M)MD9=>A)_W/,0MU%[EHU@2^6/>\ Y3DM8;!2W M)_/'/5]&P<)T;Q2^%TS\1E%\4>1N%,RG\L>M$%,TBNG*$5HU:MTS^./NEPY\ M1_HUZMD:$+%1LU:2;(VZ]#3^N&1NE*^G\E6M$%,T2MO*$5HU:MTS^*H>N#R_4<^>PU?U+$1LU*R5 M)%NC+CV-K^I9B-NH/<]%, OB0M#HYO$&)R7/DH-_FUOG!O69IOJ:#AF(/IP= M1@&NX BG[,##?1'^ 19,G9_YX6:UBMA63EECND6_#)CWE/YYM:1I$EV8!?M MU0?\6%JY]5+$GX#MW 81#=LMPG;NRC5L9]CN) =U+0.A>J)N\!]NRXZ ]/*V M#C&KS7YH-?'ER<$7D5R,P*L1:YHW>["PB%O="PYEH MS]:52JF/S3=X=L(]5\XM=K3/S02"/_,T*]2\I21M>6),X#O-;KT8P2 TOVUO M[>EN:-8=\5' 8>?+BX&4>.05[MQ/*O7#&"WW].,8/HSB5(2_)G$^2N$188ZN M>KP&WJ.B7 :Z=4,3B_W@IP8>%UO/!E)&"&W!K#?%AR4;@.3#N7 MO*\E4^&DF$:OI=\ILQM9+NFF:7;!4HCNY];;;G;VIO> .@RN!1Y/3#FY9N7'*%#3[U$SD\8Y:7-+[ MQBZ/OY]/[80#O]TY@$GD;BC_:&>:2_O99UKIT@=PI<#CWKI_-I1]<,J^G9^R M;Q^ LJHAYR.*Z+=W%-$/0:$_3A0(:OE976$G:7A[7W5#;*,K,]"1N!D@.@&K M[04S[.R7&JT'5:2!&BUYNM_#47WN5RZPNB;==[XU;A@2[X<+9!A*/\M%:.*2 M#0_>BP>M235M91O.*S6=EA,-IQO.NQ?G35_9I>>\:2[)1F-:5W==0]E5=&75 M@SYL;4TEYR>1K@$MJ[-X)'FJ%_.AY*FA34.FA]]O)4+=NM^*2^\O2>],TS\P MR?"L=Y@DF*)DTW-^C>/@6H6AU1E>! ?,_;[:1=-OF[)T#=O-P7966>4[U\(4 M>%KNF[V":\N$'??/YCQ[0)K.KS]N/;#^V!#R ?7'AP5T6X VC4?\\0Z"57.' MKQ(KKILO_+FY[[DV/CJ*F$1*5+^@.]#*>1O\KTG#*9QY.HN+0/Z 0G2C5$>W07@DNV6_:B M>^DS[<7&6KTKJZRST?I HN?)&'/=;-Q MTZ\8A6^9S0N6SPV=7X:L;NB\=G+[1*CD-Q'F\N.80BM%G.J3[,DD092Y*QGE M2]Z5:^HT3(I5W61>AL1N*+Q6LKIN#]\A,>>S2I<]['RG^&_-_-9PF]^3">K2 M-"X3 3030PEGX<=$@!FS1LR! F*!23<0PL%^4;<;[LI)UJS37"^EET_:7*)FN$_'(*^?7@F.9P6"N64,WQ\=RZ M?N=A-;[F&%CN8V"Y*-^(\Y4@[2*]OC\#V\)/^,_I<)3$5ZM U?FZ>>N+9\YP MZ8TW5Q<,UV_'=L0>,UW\&T M)36CF;JPC\EZ#]+A[-E9[X_/<=2'DW2(+[?R"EX+)VUP"=]_CD74<.GS<.G\ MKZXA8K$(DZ1%S?-'G]!>]PE=[/'7\@>GWV.?TN L,U&7K&-_.B'M77-E[BC MV;#/?R@W&W85-^RCG[PO8<.6@MN-S_4E;+:E"L0;UJOAF=GQ@5HOI;M8R\U> MM035OSVR.W^*:["&WU:1D6IDV(H[K9\D^O>PU.B\:V\B"A-0(U%7(E-7LIC: MN4I_V +:!*0GGJT7UV*T[/29/I5RN[[).3T.T3+BX&4V>?8%[8!UEDVD,E1GB0POL]@SZ#B MH*0QB->(UM-6H*#SS*5XB*2(=6>V3L-L#;,]00;O-##5.S#0'Z>(6"$OT"#' MRR?9]6L<868T?!OU^>+CFQ$L]]*[_AZ! >9^^XQ5K6R!6Y;WT7QG2P4/WS!N MP[CS.WV7"/6>)WXI;@[S;! GQA'W";Y,,^4?Q7F4+6LOJ3+)JW,HJ%T[F364 M2_.3]R1.I.I':T'=NKFL'W$WM]N;>]5N8:"B?D4,-O)X#B1>!:N%D[F2^.-R M$]8=OO%[3IW$8U'4K.MR4/3P6B2!#6U@F"E1?B:#BRSV?VBU8<6I7IJB&P"I MF>O]M8$7S&.J8:QU9*S']S2N.!^L)650?KPK4P;,%SD8KL%"Z;6(DG\N,OM*;KYQ2LBT0U+-JPZ"2+/E_,:;-@T8HV@ MX>6&E]=%=6AXN>'E==$Q*HZ:[Y'*TO.+[R^5@^O=5^55>5&LN\0J1<.Z#>NN MJ ;1L&[#NBNC,*P].ZX08RS5<=PPQO(PQE(==@UC+ ]C+-51LF[9#\N3C["\ MIT1#\R>A^5(= W-GX3FSR+;U;V#/,M*Y<=P9]^!Q$\*?= 0AJJ4 -O=98 MXVF(N[H*SJVHL>>J/\C.>M]3>9BF,EOR,,\,-$Y49.LGL_0R=C[(U892SZ^/ MSK>G/DN12@<*5H/#KC3!9LYI37980[?UV&]?X\A?0])5I[6FNZZAWBKMO=E M\"=");^),)4(+/ M22+_RF7DC\OW.U>DY]CK/%%1?V79Z&D YN>CD8.S.IU8#SJ8:=2N&Z33[![[9?N%[)>'8-?ME\:NCW0J-.S:L.L*2=>/>:HBF::' M_E^Y2I7588[P!G_P10;*%^%IY!^B;OZ;,2=MZ\\QL-43.;31<#WJM M'&VFY4$ XV%R=;<5,%QY MFL5#T(2KU^A[?Y5Q/Q&C@?(_8>6,ZN:6.>I_TGTYEIM?;EM(IXBH;D7O?V;, M((D###:;-OR/)NOV3W/L7L:IKW?B?%%_!DGYJ*4W5F1 M-%\TG+W$YT*:9 >3Y--:U 01UW 'E3+?-K<;L?]R-L=]F7:AC#YBK><4^X>^ MCXWST/,@U97HAK+AV]'!M%59<]9=$GG;L&[#NH\J=9]=V7X,UGTA^O:*\G>C MO5T.\PAP\Q E*M( FK@W^Q4K2AXCK( MTH:*ZR!1P51(\Z5U;BA3.)T)'SY2?80!WL% M*5D_A1 MWES"M=F9?VUP!@^X-F^+M=E?SK5Y.__:[#_HVG0VR[K*\JT-C?"YS_^EE#?/ M5[O1*>1-9SGE36=^>=-Y6'G3*>1-9SGE36=^>=-Y6'G3*>1-9SGE36=^>7-7 M/57='"0RI(S1=*!&7JBB'^=Q6)XBWK01)_TW6YN;VV\2^/D-7O?*$XF?S+Y8 M7_&F)_RLW8OC+(HS^EVW_7>M=]U]]^V=\3>5KO[;E>V M=_;\M_M[W>UW_MON*Z^7Q$.^P=_?W=G>V]O<\_:O=^:OSJ;]:\O^9>_H MV#LZ]HXM>\>6O6/+WK%E[]BR=VS;.[;M'=OVCFU[Q[:]8\?>L6/OV-D!GGM3 M(8+Y)HWSQ)]X__>3P4T7OZ+57_D0>=S5'&'Z]$HD24'41Q M,A3A>^26M@A5/SK %&.9O!^*I*^B [SAU8?O7T\OCS]Y%Y>'E\<7/[\9P0B> MZM47QT??ST\O3X\OO,.OG[SC_SWZY^'77X^]H[,O7TXO+D[/OC[M>'X_O/CG MZ==?+\^^MKQ/&T<;WM;F[L[^K#'\=V40_SW/*$KO9/H_[3Q_[G[X.1V)R+R- M+@^D'W/Z^8&71\"N(";D>^_5AY.S\R\>"ILHCKYBY%CY7B10D@92'7R*_1PM M0$QM?^5IX03[?:H3Z]4'$(S_HFU1/!"V!@X(_H&A/=UZ9UA(X_DR#$C1$[UH%V0 _ M;/X=B9%UXP!.E"QYZ!?ALP/ST"N99)B.JMD"I/C(CF1K>W2C;W^0UWKUQ+O7 MHI4(ZVG*>IJTGI[N;4QZ&$6Y",_E*$XR.)GP(=DOKQ1P/V@"!]TX#KLB#&.@ MR,VK2@5'W'A:WE0H<_CUZ_?#S][Y M\;>S\TOOV_?SB^^'7R^]RS,/SH!+$/1>9]L[._$)F"U@,.C2^2$SO[V3L,*C\L*[AB:!5[SO;:@]A6(K$ PM5!K>KA-_(<#UF<[9TW!X$\,T0QC\(Q!@?*:,YS]M/TN>( MQG:GY>$/MRF2#5,W4F-5%WB9I,;9>;.=FNVT JR\H$EXF8B($7,?WBS<;,S" MV4+E\OSPZ\4IV7^-:;A$HFB9>&11T_"-]J>](>?>FGENC3:>6:GE<7B(PBS> M'\[_ 8N4/J^?&_LH'@Y5BEE-8)V$THMRM P./#1PIHG]8XK?G<#E7^GJ.>7Y MYB8&Z?9VWDT*]"=U6"]E@.#[R3?O4OJ#* [COD(9]+R-VX08L:A@V<./WAK=Z/S]^GGQ',S MY"V['[@S3D;ZUHM,9/((L=62\5$$667;G;GE8_Z8M(_8<^_[3DJU[>/-[7 M>..G^R[\7(;&[-N6F^ /*L .@R#!#CO\SV>XJ3-WNL.F]T\!)_Y%EDB95258 M:[HCO?3F(_CS++F,K^<]@6 INWDR1J?&7=])@NHL^0:''^R>>?,[OAQ6W^>Y M8GI^DJ 79;.S_=[C-P*??+PY?Z(FK2?@M!OTE_/_4B)6;^8[;SO[N9GM[ M=W-G+8Y;O1)H#(P2X&,U$J$G;Z2?(YH0? UB5:;+?@*\!AIZ2,1)P;_6+H_% M-L7KJ;L"Y>=A(L4"^V#_[82]_]-TR8E]=L-O@SA:S+6PO;O5WMK:O%6S?3K[ M^=Q:S"R ]]^G7B9#.<*Y:2]+"^QG/\S19/7 RA$P5\.9:\5]%]B:DCHC:T>" M3&3@C?(DS=&CD,4>7$$J66?K=?WMOS^<1UT[>]KP M GL_[L I78>D%)+MMR)( E[,1YVX_#U%!UE);E=BX7E9O>OVH=, MW"YO_(&(^O!%Y%T/%'Q3G A/'9!<5I*O@@R;JL#ILW[J2G)M3@<,P%+#$ M11;[/^:*]S\$\1Y2YMVR)=>"MEJ2LB"=D[#?3[Y=/AE!'V,WKH2,O01U^=8M M>:QE+PKDR0@-2N:%@C-?#R\^'?[?"2\5;6'OBTA^R,S[O/%YXVACF6WM6>2Z M2[J4_5][ZRW>0+13$7J>#SSGJS(Y%[21^B4;R5O M/\*UJVD2&%E O@A MS=$P%ZD7R)Z*.,9]GH/"OK.Y:U;=(1808$/7G\[^[XK'K;VA"H)0%K)V<^[P M1_76K1.#A'HF!E<+N/.;A;O,V_ ^G_A?QXH=GQE+AQ7GD< M5V6Q93]=7;>\4OB994$49_#-7[E"F0NBEC*A$DIE3>ME\#;&/NTGRJK4LL&< MLB09FDW?;/I;-OUO<9A'F4@HGRY)GWFS/\)&U. ,#_G/**F*[4%\ SRU*E)$T<3<,5+/@S)NYZ ?P:]>G242)] M29ZNSI9'=6&I]QJ>!XJ^E^;^P$L',6;IF637;""RZMBO13HI".EF/8>?0#6* M N_U%L^Q"^8"_-[]$V: U].E)$!'KNY %T FLGQ>6072>6YAM1PB^VOL#G!S^:3I4@M % P@$X8J MRT"*2(N&":)P[$F@Z]@[1:M7^)0Z\$EDPCMAC:LD'XMGN"J8:XN=RW[.L$'> M1?ORL84ACX?DWR@&,6:$G4Q_:A2]I1!3#ELA5VFIU8BII[7P G7%4._+),O&NI^A3A>Y:>=7)[;Q]5Y19U7O+(H8.;V0:^=Q-?\??4'W)?>MU^_ M?O_RRH44HRL+2#'S5_''P(:HOAW^>MS^>'Y\^*_VX!>WR3Z^\-Y-+\\]/]4N#*WS? MA;D\._J,>'<++(W]M][K.L%RM[K&78>W5YW@2IR+Y'0,X7[I"1_6%405'FYX M@J#',:K]%KFF7?M#"B.$/[5FCD>='P]'(AJWT(J QX'JC6/M>\!$U]G _+P! M1H6DL9&'DPK@**^/$Y7\]].&R+\'[^V%53AFRO-;[8SE:W MO37+X_(LZMB]3O^)*,,=XDEZE[]S!*P6IUL5F#3W""L=59_KB5\]:,J'8.D) M*:FZ6,897)3UJ_1 MAXMI6T _??9RT=T?\U1%,DT?NZ[^SNM1N>YXZC:^?<+FWE_IUB.^\^DFON9. M\=Z,@P'34>?TF:.)1X8=\#XZS\$ZRE,^5& $#&U44UX-YQ*^*QSCRZ\5O!I> MZT4PPQCWQY5*:2]%(O*5"%$*84TA7IQF<$R()$@]+")4P;38Z/9K4>^)K]&4 M5]H%^KS_K("VY;A@M>C%G#-4-D262:Q'188!WL$"9ABAZ).KLLC6!@T81"Y^ M9QA*]GJ2C,M(5T+@K0HMCPBX%450$H=>#":AP\2%V*= O&75G=7>_[Q@5"Z+[=VL/$Z)]PYL4T=89 -P0IZFR5GDJ&[,\8 MP;L%7@2[BP+; 8U8Y('*]+@V;I')IWXO.<3KX^2P6+:34/2? .-EM63O?2V# M=("FEI;%WNN:#(22U@LLTKB=GC"^>)N>AM1[(FUEJ=U0:Y=H4'H#)MJ)?A_V M+F[N(6>Y78DPEV9?7L4DA?&@0=-=?_0YOQ6]R=G8 UZAP!_9]CV,E\'34O.$ M,MB&_C+$P%E7VP$8/IN\NCBZANB>1@]XE(5C5KDDJFK BG$4&!C*OW)"[2 _ MMQB!7G6C@&DEW/%?FME/R)D*XZYR^S5U M!2J,>(S#0OAAG)*J"*-!-5'Y1)/_>KN_L?L655"0L' :XG<< :!$17TS)S-Z M1V*D,E@:G;X(/_Y/'DF02XR3.=.[L KL>TC\!+.#^7=X4MLM7 !8EVO\SVV$ MYSQMRO&\P-5,S_*,='-8^5I.H*ONQ0O;V"VG [SPM@7BL+6YVYG@!%XX(B]- M4.\VHG#+^Z_-C4JO*N>Y9P27SK+U[14:X%$9@,] MZ28SWZ84-0M9LY#?!*8FD2 $,^0$7N%A;Q$,T[U2B56 ]89%6=;V?'3QR M9>E8IMDW=!/H4,PTQ>X;*&ECCQ!%R#%ATJKPF/2X,8?W14I2.>$Q=/@.XA#( MG6[W62M.C/,)#D//>]CP>?5Y&.">.X!.T5ZGN983 M[WW>R'=U5@O$OF?,::'.8M-_74I(CV^'YY?>Z00&@=$JDY M+5*RK81Q*=)YSQF=B#Z"9\FU2()V&,<_=,C%W(>A&L6&\E"*R)PNVI.]]?:P MOC!*9REO4SD5&)(8%N+\87MKYWC.3&?W&=YKDR_@7FF2!'[: /7N//I;8D< M@6$(GP0Z[^F K8=;]5[C2,S#C\K)!S^!6$MCD+-CQ@G.@&P8/Z!_A^+'K!7< M\"X', )W37')G81_YVH] >,*X]\.*.!:AD-$Z]@Q$/L*!DG\!77 MT>.X?(%1N#A/")D/_E%1 .R1C)VHAI_E%)5(\S"#F\$8)F,&:J@R2MILE9:\"]8]O:Q$6ER641(CJFT&AU;M M#:,XP\P$6+E>GM#RP_ 1(1=_C.(KB9[[)([$E4KRU'O]ZNCLM]-/[<[^JY\\ M>%,@A\HG$@W$E31.IXE1&/]>RXD?H<>.HZC,RK3,R,+Q2+*H3UT<(8JJPE4C MS5>4YV.IQ@Y+7#7--GWM,3$Y2,=VF>C_)(13G)$S.;J?>&L6^F&\A0C#'X)<9, M*,U#$_?XP/T@"I.4AE@A),6<84+,CCYR;$A_H[K>T/5;=@<-?B23/JA^GS"Q MJ$B+;&(P IZ.V@QV597G.Z8>S"R5T_0?!K-!JFK+?)QX@?%@_G().MB@8$*]T M'H7\R->\1T$)R\WL[C"2616],:=>5[]_YN> &FXCF&^1DFR1R94ST>K&!Z4? M9D'#%>B_@V^QDBBGE3(B"^]^ Q-VY2J=(\XZIY@;:"02BCY@YMQY,1R\6A/1 M%4K\>V55F*;I0/6RJ4O3A7.%AF[B*S#@ =@G,FFS6@7[)P8U(VDG>52F=WF, M&4C9(-4E I;.P15< PI)ZFDE:DZ!C($;F4V29B@QN!S"UI!X; F0&OC&0/9D ME,)1B"'888RZ3@MW;HJ!PY93B*$WE58.<(AZ&*WIW#L*143K HO+-WM:+S'< MH9]1VE %2[JKY"R(.UTF&[T$Y$\("C!K&9QE 2R7Z5WJL"_>@^*$"?',AI:LXDV:U.8#00 M+<: [D.0HVH4REK*SWBFW643&RD@C5)GH5%ZSJ!,!A+TH))2Q(!* M6L0N% ,$EA=)1$L O]N_W?!/,O_59N(HK[4S;?WLQE/:9G'"Y@F8$T@%J(QT_7A5D7?Y1FKE MU[T,['0,"F?:""XN<0RD:68E64SO:]Y4MD8P>R'G[ 2D\30MV3$+]#OSJ*J M_9!C%%LIZNQAT2'!DM@,IBIF+7#5EJGCRUE&'EK2F#)CZ*59U#)^S>-4N*8]RN$>%CDD% M>3^%@>?#(J:]'%0[HP=D!F2;'^4^@1*L.0/"&&%@1?8+,QH9B21;_7OY'B=Y MB02CHW_CK"?)DCI!I4)AU%O0TXIV87/5LA3JI(B.YC6TP?U M+!(3KDN\MWBA2!+T 6I)3:)*IUGB NC=$;I#U&Q:,*EKS^/#(RF#=!J1'?8@ ML^(1;(KIW#7)K-AT!RD?5]0SHYY;[6Q>69U*^<-X==!)1RO+R^9JKZZF.GGM M=*UUWF'HF4R3A"7EP&QS)DI%G:/S;4*?8WVS?J%=/;I.>][P#GT_)CT_!!E9 MT3V0NR:4CZ?6&!\UBKAP&>Z,>M-9I;BSWC&[:*ZJ&YO G^=MF[<6L.[_^Z^OZK[6G9?('\O+4%/I&A<$Q M\6-7AACAJ?D%3$G***Y[41+_.64("7JW:G\QNF"Y=C@%TRL4B0DND>)"[O2 M%8TY2+/AG>5)58RSI=J5U: 7Y^;P-8%,_41UM5:25,U*TE.F,T20RT)/'? K MBC.1=/EB"?%!$KC.Z#AZ!5GYPR^T4N/8NUV987XWC ML-RK/PR+S8H@;WJ]8 MS(0#2&4UT(B,50/3W S M>78-I6D^'%GO,7DHX@A="-:4#*@E7,\-;6]XOTO#&A3 3$'P*0Y=!CG[IG5) MH9>/6!]'=_4,7X!1>6<,;U)Q&\)]O4R7_M2,L\4N0R)_G$TX$_!+85Z!GP M26=.BZA\**Y1\8&S0J_V#,Y&VOP%F\EV"87K58*Z*KP#%AU> E.4/% ]$!W/ M)A+E%"0675#_M::("V,$P3DH;=X)7VY%02HI'8YU7T[N\DYA/%[G<&*I*RZ. M:1II,1(9IO*:LN3+B1/$73S1,4&]H:=A]J;G4&5JO6L"M'=WN_QN?Z$M:(ST MU Y3Q[CES4#@ 74EZ1[V;]#XA(FKDA @%L(Q6(591EAB>#JL@.S#U+7W4?!)CJY[;DJ#=^U['=Y.OD=\$+Q95QP\(1% M PQ,&P)7?$INBO&*840'@)T-3%QS"Y#G M_R\\X^/WB].OQQ<7ZY']5KM2EXZ7F&I*03^!BT'DHPB0% ]J.?%UQZ)'/8$* M9^"D',@H160V8+.<#S1TONFH(SSS2E&\&"N0$;9M!*:,Z-M'L[<171T(]Z9? M+.TKC4N44J)*HXW0@P!"%=FL6CZM/<%;#Q67)UEP;HY"F@T2_;%',@[9,^8H ,Y:E>'.O, JO0G(=Y MRD>A\,B)GG ;E%YU75FY,TO**Z\BK(T*TCHQ8T0! M;]N )0N\P*H+:D.8]<)#LQ7>$XU9[FA^?KH/:]!?7P>6'(\ M(F;1*IHM&'#3LTQ.'/!-J!!9&*OQ,">/'83 #LXHW6P!QC)0J$HF:FA&HM#7 M&F;L5G:&!Z_+& Z!C6'MB -S_E;660L!BV6SRJF,,236C:E[GNE>CC]T]O>W MUWE12DI)$8YS]-ZR']?R*&T*!J](I\?L9J3L&K7H>A"#A&S'UU%%+6IYAY3U MX7W1@O8S9X>V;KEU['W)HS#W/J,;#\2"?LJEC+$F1]C''F%S6.\<'LU/%H&8 M>"4G%_OP&MXQ($",*EB^TB8;M[Q/BC-V*%^''V#N<7YR;OB"QCK,X$1U@>GL M4HVK=W^)S672:J<_>:\IK QC'8. >.\Q#A_SYR-G5L4ESHU(I(E?\"">0? +%&-#)#&\ MH.6=11(V8S^1LGX(Y=$=%0W.;V<1]\931H(AHPY6Y&+C?./S!ORKAGX,/[(P M-WS+CT:>/I" MRS:\DU#>7 R O0,49A*LIA,%0N@S;%CSQ>]P[J)^E)HO/JJ8T#?,Y\OV9=Z5 M]N?+1+6/,'G4?G.>$4_@I\<)!^H'E MQ'2#Y >H (_J5B?S$R,UK-RF_RP&06DEAM"@?X VYRS?4N5(%V) M4&639Z.#-F^OKZXV\-\HV@)O02DKBO#]@,+P+:^'DABM MS0&"3;88E(J+5PND+EN)W#) )>'8=E)P?O^_+>LXKO[ZKOTOFU1(I4.VJH5S M'?3UY ],8\P90H;'UCLPSC$HN"B\V ]:^&YMMFH9UYQPP#FR8SSPY/NE_=C+ MDTB!;(!%S*@HI5+PA(.TI4P(L:$HCE&V973$K(,Q^B..JA06-=KG#A2 M2%.9X=G(0^XLDDVV@0GR"'"F5"(!_R,_P02/ZM1"?86EZXC*I=DN*291]>7S MF-PK:K-XW6NI+Y/.H*(>&15NL.D:[ASFVV.EHDX.#9N@\4)U_!7)O].,K M6_W)_\QZST:I1UR3M/#<20L[3=)"D[1P+^5&(UJ=7:%J**_77*LIN<=NS<[E MF!I6R<0Y'\;L I1E'W6*B$153QLEFF-!B%\4\Y#TY^O4$*W$7NSGJWT>NCUIF2G-^DW0ZJZ D@Y*Y )4-N*:@3?TALT2N_,G@,8[[VZ?21;4 MW%^!.T$4&3WD=W<%*'E@*FSM^CT'07&N*3S[N%&^R ]3IX.T<$.V\:@FZ%& ME[9E/XR[R/FE'8!*3\B&0)\+!UDMPX&@![Y<1N1E>&EF*B\IZ$W>=;13T2D! MV[2O40LX8,]I.FC?B0W%>08&DRGKLO5*G!KAAZJ$/@RO9DV8%XDED3.=G%-L Z*X5]8EPDTCDG+Y!;WE $&8FOJ="0W9?&O:9Q.T;84 $+ MGG 8/4Z>G)R23H.P$Q+4-"N.^FU*2#1RBC0CD]Y@[B$-1V>1XIM#<>U)=.OY MY.ZKK@XE_:9&UU-1%%\10%19D,&3L2X3@Z#X7C-_H]SIN=B<;$R)\(S_UD?_ M+FJZMORI$7.-F'MA8NY((Y!H*7=S"5$9&<"^,WES8*@-K:E(CGLG9PGSH)K=V.S&%[8;3VU2X30]8W[_J9.@ M6'*EZA/5.E&/;P26!A>)B9A32/N;T 0HO=! KN%A]A=FX\);6,J])Y3/]B"^MNHBWEEV1.I0 M?HB-TD6??8!ZL S58- 8K0/2V6 &J*VR*'9!S!A[A)EG,&9H4S:!B.: 6X<# MKBX0P:3X5BA_ 3JO^61+XFZ,AXRMJ."*#NNUQT(/XP5O,8 <0M"X7N[Z&HQ M@2;+>8;T(N-49SR**(A3/Q[!BTD*! A@UZK4?=349)1J..B4IGS+5N%EA[GE M5:@.+DQ0(0\$SO4!^@]!<)Q&H =':)]/P3LM3&$4K&C&"TRL1IV&7BX"\,!:@ MH8=QS*!Q43H0 >78?_\-A]6/":0)C&UX&169!0F"K _0MQB 6D+Q7-:!M%X/ MBZQZ6%- -Z8VOQ/1M628&@0GF!3FLB5-:*"1%R].7M2'!FJ$QUQ1@:$C83#? M-#6MN&TTX$K9?L@D<%#;D(7(<03)[3[[4G2S_M76=4_5B 44KPN5KJLIR;&' MF'+L@$^GB#),343MJ53:^ /L+E:WPFY\#?(%JUWE6&))+$M'[2)L1$PC8EZ8 MB+%N>2H^L$YY[YLU02:%#?()]I4=^Z$L%0"7[!8=XM=P(^TL;AL0*2Z(XZ3\1:9;D%/^\GQ0H+?O=B3K=O59'RELRRF>^N=P/K4G%=Q=N>BK^ M;I.*OXZI^"MQ@-9UP2R=)0\D@V[7.9[CE8V&\+0:PH6-9E"I\X5U!4XJ!N Z$65 \RA/+(/M2_C M,25Y'X,QA$]$$P4S(\\>U#NQLH$YX)5SV4<'4@R+?Q02*B+KE074'"$K1*D* M+*;'2PM5FK*'HG(@8S0?*FPFV#GOY-,ANO7!%M:0]UP=4((8*MQ_B$2;T>C- M_7QYT=N! ;!,@A_&-9T. E2^*O1;':0!B\3N%+*>7IQYG>V==[L,=Y@1:&$4 MH!>@!ARLG'<\$"EJ]P@U6HY+V)9NQ5"*]R 2(X,PD06/NM"T$4^!ZG*0C8HU MGVO-^-UC_=/40;/[X_3P\L3K[.WO[+MOK"[3E#'^BA:1=RY&"GT37TX-?4#\ M28S.4O&T'BF+/G=EV5'L%*0Y:*;Q"*:9#TL-&8F6#VV,FL) J.FP_]?- MM>HBE+JNB,-H%H>8*XV?@+$0618CTV+HI7XB1L03&#G3F$A@;XVX*[7I2#EE M.6 7=O-DS$?"E\-B->#HP3H7=D$*&(ZYC1S165]*%XS8WCDA5 MUP7(,U%_#8!WPBW/^N@&UW"<'$9$*%_$PB., LRPT2 JW"S'F+AF*>N[Q)C: M*)I%8O,*HIB0:A-B!]Y.19<(W> /U'FLWR^:]#@M]V8446*MCS;ZUQ@EA MI M#3$O<(.\C(/,)HQHL:<+SY0%-D)P"]T;L$OYU2@)4=.RE7E&@VRY^3&357FX M';MN]TN-9U,Y5NQX--B%!E-(#1Q..HBO=?>'&W(^\ZL)FIF+$$4+$:0Q,D6\ MGJF4HU5#H8!B/UL^7UJ*E$Y@8UL("(]XPZA5D7 <([P;1T?CKEPT\1OTY( M ";,'5X8I.G//'+Z?UH0%)W;1.IS&(HN0>'IU M':S%(A\A9J#C-&MS/RD\<[LB58PX3HN!2&8>X\!_DKX<=N'(V.ZT",,,*5^H M!4[" ZW1-4K,\I&RQ4=*%J,F2U>]1V&J896F/ >AMB6^O[-9O7O#NV"H&3K> M-&2*@#7Y,S:]G0U1)[,RS .F9*3=CL97:J?#:-F_M31>]FZK IA-!QS"E?"D MNH89UUK*.ZSY,N2[8ZB4]J6#PHA\!2JWX[]';3#/,A*;(&WX#T81YA(8WONZ M4P%'(NF:*^'G^;"-FBE]#@6!PO*!B1(GZ*Z?VL[JY4!ZFU'4ZL"VGTQ0V M-1W/7DLU*OVZN0@ZBQ& 'RI(.'V#^QA /)E/RW=/RE\3%AO=] MA.5%YBW&8FP5C],EI'&$YQIGDJ @"*W)4(D .[V:DCP"X6*R4I(X3=L(QSRY ME(D9G@$VYH75-#7IK3HH,Y B:_%QFAM'#WSR%;$)V&3HG(ECIN8WIHU;NE'4 MW^-[,0T66RDJJLO4 ]$0W0>>3G16^7,, !$JV]3:C M;AZX%'_*S&R]#>^S,)"*]NF.5=ZRGC&][,2XU"V1P^LNG"_N69>PA19AZ$FI MT+KC.BT>OB:G-40B%P!>0QERI]Q8&<-57V#6'*Z*G#7HQJ9IB\" 2)N?;M0J M%]3,*5!@#&T$3].D80Y;U\/)U0F)9:T.YF:0(?4=9P2AE:?EU"[6)'7LLP(I M;7BU F%NF8(Y5)0DO1;MEDV*O'5=#U*(,#<=1)\ING,@+@:"\!2[W31+PCT+ MCQ[!&D?R30_!:_L8@K(>7F"8:VP7J!5WWD\PDW].8GF4GH5:HPSL[06_J;00 M!W4@V5&L4IWC:CN.JG1R(Z/^C:IF9I8&3RM@;'RN@ZQML_&HL[M+Y21!Y?]K.X0,8S36ZU"K.\^*@UJU,].L)/BG3W2.M5+7+1@@PW >) MIF/.?EBW/LA8?!J"'"L0^["FI@+&>#I,7H%@%QSLJ3C2)@(^P9$U$9\P[NE6 MM$UUK#IF1.3Z),G[M*0L^IKF?DL2G-]K@O/K&)Q_CK,UB"7;Y&[\Q.DEDHAK MYY0RS3U0F6]AR2RLKQGW>1R\5.]0G)3?*?Q)NI--4]54V4]+J*,C= M5/2[1>$^S$$'&X6V;8KNU(Q WMBYO%]V&F-G-QA2/B*Y&3)0/D+C=;D_3.'9 M(O/!'?9<(YXTK&I\:;B&91<:]BDI^JY9YQ-W,71;9!6WD1<;(7%Q)3 *)M%7 MF:5EBTQ'V%(]1E@5"JJ$@OI;TTF?Y$PX[8O1RPAK45YZ[A9(*.>B.#.T"UVW M/+^UD_FZZJP4( :3+<$3%/'\V;^'-'AIOI5Z!X)NV ;Z7TA\'6)T=ZJGM-!Z M2JWLL(\;NULLDDG!GV8+9-0R'F_6S>NU1UE[+LH=99P2TQ+]@H)^%HZ!.H^' M#NASS>3CJ!^3@S].,Z^2=KE^]*T> \G:=4UL\*"U])$ MG:1M=[Z5)2V<.;"XJ,Y30*@P7;4.5')3V1D5L<1R[,N>]+$>D3E1N96./IKK M9J%747?:I48#74XH<)"N2J+NORV5K[!(%YMIA 9!,U$D3ELZXXR]'5.2#:4'.:3%<2L;UZ#W8$]J[6 #SVO[5DR/478!YF++\YC)X M!Q>^%7H0O H5L))WOY#FN*]M_!\W&;W =;K#MI$IIH@J,(5T@,LTO2B7=Q5\=Y1PZ#8GZ15CFE+?G360?XF6\JB'6- M;GJG@8MP;,?;4HOT3.TXR# S65O8K0J71$>@S%J@>T[J?J0F0-6%M>PIV[9: MSU$WOA;,-E? H &U+=/67SZ"=0&QU7/ 5"=S$X6.R\,+.^\H#8I1FW6/\E!H MYV?!ELJ"&7'-$[I-G3:HZ",NEFR9CF]JG66K#"#8F'R...]UD56O?002T MX,XC[N/+4Z/HP*!@-E'.F2Z\T7,DB!DJ)C4/JY#4:0[FD'0.$'[C0.!]CW$N MDXG6+8'AHN>!FJ%?\1[MZK8R>OIP""IVJ7O\.:35;FUO;-M"T MM;F]O\9'UC]S>)9W)$8*F?^+#52N\2EU2*;M_X#:@@)]ZQWE FU7I6;@2H2M MO;U=KY>'(0.0RB'6)D@8V&O2?!..(73>;;VKO4J4W[C/V4<_$;=O;P*O23P6 M\+>I3WY;>Q%LS(FG3F2LONLX^0%*LQ&7BF1:CZ.B.B># MD68+C+&Q!N*!14^HZT$VT!J1%"@*0>[A4RU6=X!"5=?$ZY9\93I949F!(4PF M5QZ%XAHX$C.WP7#A[!H=I1R(!&0\NV]LQVN>PWO,X@01BH81]4"+!ZK+#=IH MT$-DYVG/1LS-XM$<5\6$$H$F#D5"6/GJ:RB_&_H/EN6 O8J9TQP([:/Y#)9T MH)N08GKUC8DSMPIK'FX",K4\F:'7F:TK;",Q&HQ3R3&J@/1$QDI&=SRRYSF)+37@8,QT3)>O08+#@($PPQU%:2#J" M]$M_&!Q\4.ITJ@&VR3R* U(5C[.!,5H_:G2#]' MU;2-U8*H?H,AB=SJF_?:/? MSVW_U.)IA2PS3H7C,Y"D&5B%G&.,3H082QPQ=,;MPEE](MC#R$(5R^Q Y#O.&1@?'@D$JD;J#BN% MY!:@MV)CE9&,,>@_BE,J05M7S>%GQ2$VLZIT^K.C*/WYC5I7,W;J>5Y:".TQ M0P.T1_$!G3K-58OL.$FH;AO/>94$;384X3Y_@&Y98O(\N9+CM%0C6L1AE&U; M9-^LNR97,NEY#+;-,^@O_@^JIPPP$2\GDZF?8&P"GIU(^L'A:RL86,'#:BLK M3S:\0QLM,>W-T:^H LI='$CT5K:\4/6DJ60U(0S,K"1'UWM.VO#)\[JSV7G] MXR.V'1"3@/*O,T M5^+>S?#V]'UE#'Q^2D08=8TQ^%5%(DEYO\=1&X;4_C/NEI_/^6[V*P>V$"^E M$B%=(9J)$-]6%'^8S5,X@WI2!JCR4FSYO)Y :KJ 1^7??QP@HIQDA F<$HG6LL&P_)382Q-]YT=4D\X_+IF8D? M,M5IIAK_P29+D!IO'V:YS["H5E0L.A)"AT@JA@G'+%3\.!EQ?;7^W9A';,>D MNLP['!MSQMH^#*D<8Z"=W2+F1)IF^Q"IN. MY)-,W/ T6X@\4)FM041WCPR,LLD#U'W5"B_4VNZ5[H?3R^,O7N=PH]1R9\9_ M,5_V].)?WLGAT>79^<4:!^105F-S@%27O!/VN9^H+IHG<%Q=Z\1JDZ94@)$@ M>QJ7HIN0A=^S,"==VZE>IJHP6PROKS$I>$93Y\%P%H@.MA,,Q;4T629TZ1 S M6 L/,IZYXSAG$X0C9F"6:',)7S;EJ1BQP< &[*N0$TS(N,I3QV7MYTG"OP=2 M#N&E9BTH.,"7D5VG@$B,ILRF &;P%=%Q)U%/^Q1L"F7L.(V5TQ$"TT0HB0"7 M'#0T=\F=A07IU',K(WHQ*B*F[8/V KNSCGV8$X9(2B0L2&/#*$Y7:WJ<)NLU ML42H?F#R7YJCSKG&P@/.VG-:QW.MK.JSQ$0Y^ 1>6PD!*W!6XI,)?M YE2(= M8)^"ZY2K,+H2,T>8K:)2JG, 0B9!PM(@H('H9G ):A MS/(HPC@C'QUNX5)D#U<^(?IH\.JP0VHR,7LJT_ZS"G"<79X)@PK=7U+74Z&U M1,!DND8 WTXSOL9JZEK,L3*+.?G$9@[H^HWYSG::H$ M28/O/] &ES8WW;@VT7"W6;]W$4$FZ6Q2"JVS+H3.'SWKJNIA4\7F( >[A[Y' M5$=]D=ESSYAD><30B:QC$>1G4 HLIR+R+>"=\WRFI 8))6A=K!-*BNLYZV=R MK$Q-[?:V#^?'!6*()QBQV?SF%05&+6V:@.ES^]N M$B.6(.>R17V9M!'=BBQE3H.75H^SPXP3\U4Q2+,^")!%>KE%R&,]K:S2&%1P M.<0\UYB2[TT]'J@SF9,/&&/J$F.,IP/50VU-WB"B4%^R!= +L515:&6UL%1- M>5FARG(@PN@JB?0Y:Q'!7A-.[RI-DX,N;L=,((0+I; SD[2T1NJ2B6K5.%3 ,4:M_O0HH(K$C0.J%FPQJ@VK/ZG% M )8BB2B,;,!12&4SJN,]I,A:2I )4.5YI#DE$C/V&1LH-?4EB!%$'U0L0PQF@IZOET]/6T M QE.U-P45(5H!=MT5[^ MFV1CF#*FC%R2+)25UI4+M6\'4B?J.UF/-XUNS-O8Z:W0U>#;UK1BT1Q[YQRUFF\HEY%T!@O45ZF&(.LRN DQM MA/WIO,4^&UV2)7CAG;=_;WG;.W]GZFR_^[MY"1$PA MS4NT5GN[]+$'1S'\1410"7N *LXP>P?MG92T8G558%1-"+L*_T[?-9KJ[*>L M?3XA_66#6B:P;&;HWUGCD]$-HFA*=E%Y3["=NRHK4P8>G,J3=,$2:''HV$<5 M0VKG9F(0* E9R"EB*J,)K;.;X*.I<2L@/4IS;V$$5V=!% A/.A4+M?DR9@ # M%V.*&(4)*L@%?*K8K_%JN)T 4#*#S#IR43#G(>-D]Q<7H]@$'@QVE$I*_60J ML%&ZFBUT*^'P5:1LA56(V=,>JN?I",YDHUUCM7PQ.?,WX9;:DB='OD[P:RV3 M]K!6WN!?3>72%H,17[,-UI4&*"[@9)4!S3=.G$[%L;M0>-:4*O'KHS:P8=*8 M=5,=C2% TA;N0"RU#T/3$&.,K2G&D_YYF[CAIAUK= $A180J@[B?%_3@?W!^:!>ITTAA,V"$IB?4BB M)T,G(7&1)ITPJ76E.2BKMOBNPHAT*#C'+Y.V90C;*A!:789$6E-0CB51S"449X)Q+54IXOE9&B+UT9/,7"JG/.[5/BI[+.-C[D];FS3@B![%G!*B/"#!4=TC93!D1/[]]#"+GB"3%_U']H\VH?, M^:^>0("!%"&=FW+/)0E)[C2]3 I]7@D(RAZV1!;=A8QFYI6O(8IV5 M(>S!ZI&P'%+&9IQ4SM5I#NU9SNSIZ84OSQ&&1H36D]QF6U&%JAK" M1)-=+1 M-E)@Z"@J_.)6KRK?6V6),FW+<25A/2XZGI8.!(^MPB5L !64=#4_=ONF-?X' M/J%;9J+5CG-RT@8SZJE6^QDKVE7:626LZSU6K_:7\H1T@<_8?:]36T49LK9< MARLYDPE3D5#;:+'4['%QMM>ZJFG?IMA?9OGJ$Z"10HYI,,V(\^)N&H>2>1_. M-Z?F57-BL8LL4:DNCB"UL"='S)[A'AQS0D/1<(29Q&09&8[B1U=U?-^:3YG7 MK.^6YIJ^AU3W4)D"/5L106D/16-=1"DW;3#)O-=_%^$YZKFK8]D: M(-T"H^M"2K=U@(9M*$HD]*W%6"I-, D;S#UU$#,M=>T[W=/:,,>&=U*(EVH[ M[H48TX)166@>S3]+)#>9E1:HX93Z;@A8" M"HI2 P MQD,&%U5#*Z2PT0]N!3ZBG1O(,NU-M$MV!NPDV.!,)QTL-NE)B]?> M],6=:[,_8#PVGE*QM,8B5ZM)HSQ)<:/YL+'2PE_,Y[7.AJ T*O=L8I0]!ER! M?Q&\%+'6,1NEDO1"%1\"FY_EQ(:HE2623^9"LRV0,M8Y4E&*_YA$$R.VN$JC MJ"]W"(*K:>XK)2\ZQQ9BBQL\2"3.M2V](%Q"VE]NZLN(GN(,J.+[U2XP$JR: M16:S!/*,JT#?HH=S%'GS?44?3W,L;0AE>?J3[#BAJ_,$,ZFA;?=^OQT2HG2'=A1:?2Q81 /&X2MJ3W0T !%X\/:(?NPO"JPN:;3!JZW4&H3 MN?1.0H,":9V:1O-7(J1>(RE6S?2S 46UQ _FB%:Q\RKE(4[N4>6]INB% TJV M6*(J+,E;:0X,75>C_99%'D#AOB1KG@LM4VKRG5G$P,C=[3!(6+&A+DS4Y3Z1 M=9D2^TS3[N_&(FQO8/*:=DLXUBFB9U3W0L]$#0N[D0";<2L0X#2?A%6Q.>7U MK6E!K1M*E'*#+&BG\ F.@RSJ5P/9S8A954KRNO@EE7"I>8T5NO/D&4XO;(%Q M!BK,76.( (,0]I&\W+Q :?WP6;^KGT!YZ37,N3Z3"@<+K-)!@[BZPC+E$SEDV.EF5JR23FHTZG[ MN0 !D4EI!6RUP17/HD0;S1^NQ$DM7KIY1'$>CFO/1)VB<9W\P(C%[$S MB]0-,IETKC^$GDV9GN6#I664,0)](6'G>E&XXU!FA)1^2N R$_67+ 7_G!_U MIM0JK2,(BD*]0"$N G90DP5POMY"9<9SRLK-"Q"+G K(JX!1=$=X:8QMIS&3N4%Q1T! M0T1L&E+L("56U0>3J\P8.56LS;-7*SZAG7,R ML R^@L.XLU/$U]A4N1S8?"F2)=PDJ9!^&@O00:U!J\)"ZU!@ MH>4V1FHY.T,[_RTNER$%=NWH\VZVSD^W5Q2C;KJ@A)0+X]RO*K#27 MO70C% MA*;0V,6:QAVGTE)_%+<7ES,@&H5%$RIJ#R:2UDN@B7>O!)R 7V!IF8JA+!R8 M60):(A_UUU)+?^Q-I2A317!O>]2%T)?#)59B&".M)V@W5;!IQ8N>7U1'P!&D MH?AETY9Y65(..IM-SD&3@163K) -IG>@:T<\33K! M&A_6OS/0%*G+45IN&8E:;6BJ9'5Z<\0 <]BQTISH+HR7EV+6FT^FC,U'0S.@ MB*10-%SG13,$'4C/09RG.BI;UZ6SFD52;=O92PZ MC,29#CIAFAR":'7PFI C!8/YU?M(RI+1VM)ED+QNL"H%&ACS<,510.J#[7U- MOE-M5#N9!!2F$2.C?;"]EZJDM#?87\8^EO)3_4&,&<]\E!<@*F2B64YOV>99 MM1X#799"/AX@865YR5DI"8BE()0+:EAI?J%,_;13K8PUSF3HFP03S*0=LILF M)EC/< +$QKK;9HL*7ALD7.S8X*4PO1W1(]?XK*DL*6KD;6:$3]7ZW-":,UZ= M_/]Z(M3L+MI9S&(6IJYN=P6Q0Q.FY"C'[%5*SB^=-P@C;IHP.BGB;K@)*[-+ M*4VX:XO8:%DZ,=1!R% (E>*&.@%_%U))9B21.P>^M0C41_[W7Q<(99 Y_X-10VYJ06U0$U3 M;FE>?O.DAJ*M$#H(V/-.NH/5\\R7W* !72P]<14G1=RWY4G%'N:%RGH:_:)V M*Q\5:"R M_-L._N;-1**=N'J9@%MQ;!L&GG]-^;N$,57&YB+VP:5M35G2HBC1 F<6BSH! M0,<4I)AY@3E5)&6HZ$J8B*6!-M+(%>PNMOEY!MY5:+K1XTIH20R(;S# = (1 M[#F;45'"!H,!XZ+%.1T$C*[F'M0:"[:XVL!EN?F?1I^V0$%\C,P2!D[2(R)R MZ;2(L9L<4\V+)*V_A(2$CF^9]'7.S[5A9: M"MY@EM\T6W&414P"=;'/,LZVK 0'#'J;!605F?8 F "[5A#8G+JFV$75EBIT MT(U0WO6VH#C**EL-^5ZRMS*B5&>>:T63-)&&ML YU&NI8_4!&[5K&C M4M5_R_Y)#?9"B8>8#96B5&&7B>6 M5!?O="RP5^G=)VPC7T<5+QR9+M%LDUR=OZA?762%,B* ^X[JH_E(BH*7*NY%P8J?.WN)U*E *#FB.4D/W<,6##R,1([;AZ M(I0F6,*42U#NZNZ3#'J' MW7L]3C+R.6^T59I#R[*#1L\JM11V)K9!G71R-(\&PO]AG=D9#&M$OHX1-N]F MY4Z7.M'5>N0>G=*J5\K$@4&X.4:6O3BQJ!A''4=-@%)82K=L+4",TWK8/2FT+-4IP!;8HS3Q3QJ:)1O(FB%=2],70"L=E.>).81% M&I-[,:E7-@V\!-M*B=FB)S''D=/"'6J2"XT1#]P$]:I^Q14=OLD,(W8SS,Q" M(2[DE4LCDURB^;FHM>M6\SC3ZCG$WA0&KG*.E%ZQ_^TMM#@^ ZMP18J![B38 M6@+&96_M0MPYX1IV 4(\LR%EP*UKB^.,<7I"<:VS$W5;>N,)NA+^N#26DB#6 ME4$(5 *;482<^UL"I"(J G1:;;6T0]':11NI1?7<&9*[CEU\RO2.GE7(7$0CD[D\&^B_B-*E57T<+/GC"EU*UOH MVAG*5]>3J,+.D!,=+W+2?PJ 1@]S^*^XEV],N3#8D7,Z5>,2E-Y0PE0"#%,Y ML3I.]3:H.+=-PWJ,M.NAZ+XWD2UN$X-.*#M%(-E;.@>WG-MB*R]T",^2QZ"( M:RVYC 7#I.RIS/:#LGJR<9>*M+2V6K-"'P#PKB*WLLJ,Z>;$P9G-QHY3&559 M8/]$1]VT@IPYP+ZZGZ ;T=-&D:#LL3FZ"\X(@-ERKIE #&LJ\K%LH29$K'W? M9+U;\+H)/[7)?)A([JI):6%CU-DQ@0Q!&>-Z>)/=8EY?@';;IUR7.@4\8";G M[-#HVI[UI1)Q5<*FT)&U']HL5'$ )FS1KJ^:&D'BUS91*S,(5;$*[L-=]%GC M.#BY$@(=!(()TJOQ7S75 5G4P)E:&TIY#'$#:^N\ZU 7>:,DI;3.[DWQB_$E7[NK4R6I"(2GVPKJOC^#]YO72F[5^Y ML'Y^AH&U%>QU8W&0!3)3^V+4LLEVM7.=)1C>*]Y3I/*B&H#Q1@22=Z8"M^J, M 7U"XIE8\"\L=U3N'3P2XPWO._E]V&-57GA"["M<.-I14T$FFA:X*C>-=.!N M'8B&6U((7V R2K72FX%EM0[*HL- @F&;XTHGDX)%2!M" /QV"(8_2L]8#(FB MR3!&?1NML%!0L@ML+F0-62VJBL.Q_0EO1P$^;0L3%Q3P:FF6Q,3L$_!AO%T= M@XN0T!87TOR<0E17M(A&2M^S*T!E/:V9E>DBZ*G&"6Y39+-2?-]@9#LPQ<0Y M^N$94*J'XI#1C%N.\YK,$8:%8@YWY#GYCUDSI)IV94H=1]09A7R^I#7D:0F+ MLHGG2 'K0I:W)-2BQB_!#VXMMX MIN1(0+NM<*4Y?I'ZI^C0AO80F=@&YJCD>% 6<-,M6YOO8*APF?XDGEFYS-;$ M"FH"_CKE=,HHL$2>,(NH49FI%M;U^S7E^N52<*=0/Q,$R&,KB;4"KF=2#;M/ MM&&N6SAG.^)YX8*"$[:##IH$W&X'E8F870$4IXM#,,=AC@=-^&-)PA];3?CC M.<(?__@KC[/W%;KPEW^K8L'KW70W['XUA\ M]:=M)2-L/"UMYJ3"UJ[?8SK,/X5G'_>1SH7D"DJ$T$F=FK>2 TYC*/IQ F>, MT%D>B/J64-)B?61 E\E-U[I-E[J)E8,_$]B2O-D*_H*_DF.3-QGMV M!E[5C?=-C&O-E1X7"V4<#.O-LT<\YTP!CL$Y]Y]LU MYF@R#W&17VUR*U@^6'X11VYUG6V[]AXMLC=QTNR_9O^]H/UW+KD["L=<(S&4 M+>.*\X4^M$QNB6T\5]8D8]ACL;)^0X/'N9 7R'4@6M\@.ZEA!=I>#6)R6:&) ML7#/P:@H%$90)KZ"Z5,",2H'-1E'8+U=YJBM2]PA"7>.0)ZBW"A@M;X@3 #M MS76\YD[U 088-%89H=3\E:L1)XJ>792GA M/+/,QV[;6G<5"7:!6+R/_[)\P10B;$N,$VLF7$CPF7 MO*G\+6VSB8)K%K>)Y* _71-P?;8.]O=R&6H^P88G%-,,.:N.<;;JMG^BZYAM M=4:QS&[7LS>SA4(%K\9=6S)S0PQ4N#4?3]1_=AXQL;+""(3[<17]NXIO;@JO M8==C5VAC,7W?N-@P&5RICN[84N^6Q;IH<#0FB;2YU0=D!LRF'ZZ:/'T*<;>8AAR/)=<4M;R3C$+ M RL@CV#'"N\V-8H+_^"T9''8"SOG 55M^J:NE=,5KP92 M#;'6L!-"ZF;C4@CCVIA58!;U\@Z3"XVRA.M=[)!H7;Z0>?PSE<[BMU M&WE3?\BOQE)&3*NA:40.]IM)K3?]3QC\@4L%.9^%:EUO"7HVAGYCZ"^_H>] M'S$ZN.\"'LGH2B6Q;I5GZO-;&I/;%C9S%2FA'I%R5.S7XKS0VE6!N\,96[J_ MR9W/SI=< M]S\ "Q@;@P+;4;*(!H,TJ' ,$#A2_*&,7"5!K[M2@0LBUS!NP[B//>Z+F.TT MUB :CFLX[K''?5J?PDK@)D4=LW$2P+FN&KYL^/+QQWU)U=Y.:^R&Z1JF>W2] M$2.R@85^L/WZR-]*^9T(;G:%;MNBE+IE&F&@ U8-NU@M:^L.V/M%[K!>*01@ M/7P-7S=\_=CC/M$Q1*Y1]>^6^MCP7,-S"XS[L,"$HP"$[@U ?)B)FT;P-4SX M^.,^9OART^NX8;F&Y1Y=[D69RA+X6"YPCR,& 64[NK%J&HY\LG%_%CZ!"3': M2BBU=\<@_SK] FI!'63$5#; MF4Q&V"_<5-YKQB5;' /F,IZ%!<@YB&V(T,6U1YB1B.VOF(*BPX MZSC-,,,307=&W.;4R=2D)SC4L1\VUE/#R4_@-C*)HZ645=U@ MJ8"7=1" C$Z!PKC/-S2,VC#JHS-J439%(,RZ'PCYG5!?*'(_&&)'>T/C!$'X MO!%JM9QLZV>Z0X35-$S3AH'J*@8[8D!HT\K&=+O47YAV"LP%!CJX;U";2$G! M(*K 9FE<@3L4/PB'=\C15R/V*8O<##7N]91/<(.Z4VA1TC>V+8UU.Q)*_Z9: M7PU-@3H1?S#YNU2!V^S+9E\^\K@_86<6AN[B3B=N'\$E+B=ML+"F86%MF]UT&UJJSL:)25"(";=]S+PQZWX7**]A))3><)70SO!+4UP,F0EX&05HJ] MH,L)01?PL6:M;^#\91(3!/LUII:&H=0N-5WEQ0T$1'_6ZA4JM/,$*L#%0B\F M*-X?BJB?$R(3N2WR$ MG<5Q% 7!QL=/?S 1+0D6M&9TJ&=.[NGAM4C24Q?EI M/&'0B"D)Q[$]]8J9E4+ AO^?O3=M3AQ)&T6_GU^AZ.FZI^H$IEB,EZY^*X+R M4DVWR_885_?IN'%C0D@):$I(C!8O\^OOLV1**2%LO& #SHA>,$BY/OL*VR!9 M&O>ME7C^ <"8[E\A .VN*D2VVI-7-J:JG*7 MN\M4HTXQLR#K$Z\; 5&OPQ/)\CSU]Z^+=99D--&5,018",69+C^-FBA3EDHM_RX75ZFJ;KRAI__KX+-L M"C[3][L_1MIX=HUFDK$WS>K4'$A\["=12J7CL=GV!B>A4Q4935R578R!P %0 MZ=GG5.(=*T[,-BG/81'%TRN/"SOE9*;DPE6]PK0VG?+0"]UA-[J[7B^P#H4C MB..W&JTF4552A[G476C))K+PY\_-=L.:H"0&Q*&/J;NNU9U@NPB7CA_OCT#[ M@"^MJSK?,:OX8@?D<(=7(JP+8)W6NW555$5VOV47CVW]O-_@ U'314+U"2Y" MA.QL:_V\G2\-C8D@6H) HAZ2B?XSZT*9U>9.8E?8_3KAFN=4M!8/$L7#@A)5 MHHISH8Z::U,2?UD#JPPFT(OU%,:F/KF)_4-D_6JJ9LM:+^=XH0U.KP-UA^VI M*C=90T&]G5L^"6Z!A1' - <*%X@;UI9)69T*>FB QR MH>S): ><&XZ[QE1<>%O9A+4V;EK[09I0[1(E8&E]YNW/P!'IU25%:B)$4G%K MQ#@+5 EXL!=XDW0"3]T(=TOVVL$#I6[E](8$\XE]0T\F(9*I84JXAR>%,QY] MZ5T>=OEY7JALLDTEV6[S!D;Y796-!+/UDEPQM/$/[MB<5.R^6!?IGA8]I;X^ M#RRVLZGRP5^L(1$84=617(U3/<^DK)\IHRC'1ZK[IRQ]7:20W&&G1 H)H2-T M5J#$#@\1G2/9N3 LMQ;/;M')XTU*LY2-;;%@GII1(R0;'RD7),J/[AEZR4ND\L>2TZG#ZDJ(L>R V<& M$)D!,V_7F$/60%0TFX,):Y*ZS1D?%UL^/[*\RC'I[-VRH(Y+)FP)&'1+(RAK M" N;9$_TQ8TG!9$*ZT;6?UAR*:H_HYMH]$)E.69+EW.Q!!U52)72WS!S;R?< MY@:-?UC9+I'RK^[(1OF%\9WXZK\9_E0MMC3!HN\Z&$@D556]@I"JWR#F8XF\ M.(?2BH8C]M$7!E\2'^ETK>WG Y-$%%C10C3U% JST#2!2P MM0AP2E-1DKIV!%QS#UUZ<'(LMLU0QIK4.8@XYN5>=4J2ZR 9L;F&]<(AD,!. M?,C!WH+Q5) @B)(SHQIQ,-RCFH][#6+77JP-)9"@(L&6UX#G1*FH^6%+EUF@ M4!2DT."V5!R3=D9#@*I+&(BOH,+DD-4:^> TSX'E0,7B_K"(54!,/>_*GI51 M)9-[K'$3M.N&()SCU8"(E> @ X%1+50Z.0C2_!3*I_G2PI)Q^L]S^F\;I[]Q M^C]9YRNUN"YRH+ZD'JU&6\E(&9OY*NO<'>0,R3H!UI/9TR@V#Y0*BXMS^K=; M8^%K?$KC9!QR)X*1\G;"6QRSYWS26O!.!K*0.__F?E+4-7M8J7U*DF"BE3W. MG(S;=_.&(B&X^C3(AHDT,+B2V9(7,P*113(.6!9OC@Z*?)) -AWN?6R5I^9) M&Y]X"34K#7S9# &AEX&/-6G7Y/EM!>])"_F.\+CO1Z# M*"\\6I'MR\:,23CBQI9\^R!(^%Y>MCN.L5I3@@@97@,8OP_YP:R_:IP4[AW8 M)3[XP6IVWI7;/FH@JD)(XZ*8NZ%J*#N,%(JCX\@ZYOB3S7<#S1)&-E()%BV' MPL5#J5GD;""86RR,1-:]H_ 4>XBC5;]A2ZE2E5_G@)4Y_2CXQQJC L6"%(*P MGJ&CQ)T-)386#EX7")3Q0Y9YKN[.BVFCRJ2JQ=YHX3I:$_*J6=CF&^011ZC< MS?;6/13QU)/.(23='+53BJ2:/PMY]*I[,%\+-MUPZ(/,PRJ$&J)65@;J.H@< MQ2U6'*H8>;&?1QO)4NYY8%,!2]"FPVH;JD6"60#IE2J^2_;CH;BX:SV(([,S M<6AC%KF8WYA/EAVV$#'+ ?5OB*-<>2'>&J$UHG3UF18#R? L56L90%:,\Y(< M^]K#>>%0<--DXLKW6^Z0/#NRQ1(91M3=U*2Y'1LQ_">5)=DSC$DQ?*VJ)PC<_#B%N=D@@2K\;9AU M&:)@2"30FWI:I:.JT&64ZTH>GK3]C-,(W?\!:VP E61WIEYX0S_$'N\YPN?*KRK&Y/)J:.%E^K]7_ E:J1T:\6.'3GDTB:"3IZ]&2C4)!K^6^E6 M>@,T*PSR<$V7VA6P#S#W&ML)G&H43L=8KUVN3_6X]ZK:^*"V-XA"VV5'EG0- MXQ@4S<>]9[)X=!YAY(>#K#"\;.DE@"R&MP)/+G=CUE0S*9EOY@"0 FF,"N%F MKI , 1O(R03B0O,X^7?VLE(SLB=JZ$Y%1D/&7!4@+V2TK"/[85!S"KX2H-U> MD <1@':6&_D/UVK+&5@3]7 M)=$N@I$L&A[:B=Z463]4&52);ML(-RAD8YUXG"8N*73-G:29PN;E"=!2ROT/,J GE:91R3;@UAZ MRRCP'<2C&(&*&^"2W%B]3_GU,S9^XUB*"G8Y:VWV@ACN*G"T* \5R6J[<%ZP M$(0DK)(3Q A\*9N3\=@(X,B7Z_))LUV98UWDY_SP-5[%P)#1QDWE2\#%>Y=' MWZSF%]*/>!5W_Q=>^7YZ<=0_._GSZ-#J7W:/CZV#LV_?CDXO^^NL9!7F. 6I M=-/OO+7PE5<"P?G%V?G1Q67OJ+_&E[Y(A,,P]/WPFB+O*?1'.HCCS!&J%S+0 MT])4.!FW B!G6FZ8DXU&H0)",&_4&2OU9S>9+!2RNWGY^1J M6MOOYB?Z/XW,2$PK4)F3T"%B>5?-']]$$&Q923Z2Q$LJSC M:^[6VR\+#ZATONCQ'=U,/>G,/02-85DGV6F\Z#F>@_R AE[?^A[/[$FKC($4 M)-O># >)1H/WK<9VS6JU]^ _G;L%VDNVRY'-H#M).RT6 2^MP0,0E#GS]@J*!O#VH@L @;I/0PG)#=4HQ# MM%.,:K))*HPO**_\:>C3Z1#FK!SZ_(8)S%>8IUZSNG >]L1>![S97Q^LV?G8 M;GQL-=K-U<.8HQRZ:U+]E(4B<^393*[Q-:*,2WOJN4 KOGG.V!O9=XJ?JP+Y M2$1:.VL"^RO.,8XK><3;8P(7=N",0^Y(/DK%?VO6 %P-6E1\=_>''L328"5-UC6*WGKH5PL[U?VUX7X68- M03\W!;T-6?_(M\[M.*Q9E^+&7@\;:6NWMMLV&/ 5B'+K"ZL5^ M17.'5<2-W?U:I]U9#]389]= :V<=T0(Q04.-S6029!+%= OK0G NPCK@0'.G MUND\SK[X\O;0EK2';K]Y)%A5=K"F2-"J[:R+UK G<>!Q%JY-P@'#")[5,=:L M[:^+BT#AP.-DMTW"@57E Y?>OU,[L$%A%C>@.Z\# NRU:ZW.X\3K%T> UL?6 M/@8*/4ZO?P4$>!.$_P\1!"+&8K)?10C?KX7/H-FL-9KKI@"L8$#$7RM#TK]2 M8E#-ZF$Z&5IB%CDE"T=123P$@I9,7:E(?V$P^NESNU-K[.P_8@*&G#MFD+<_ M8Q)\S(4_@B6_%F%ZN:L#M.^@JW")5_<-4&;LWX(4'"2VO^IW]V2T.[&M;AJ% M$0@]OV%/#\_&N(DXL:T+>&N95RGS I9XE=O2^KCWJK?XRDU9E\(V5#YU^VGY MU"='7[LGUOG%V<'1T6'O].LFIU4?8P5-+-!!U6^H%).6))V50L\+.*O^,G'J M4941W_8F<=[PS_:X*I0G6S[0:&$$0(J%:)PPC;A_2;%S9ZRJ_&/E"JU8M(6C M^"*KI,+3464*&G?J!;)+G=;LL9CGC?OQ8NXZ(]_',CI8. /K5N0=(+ XAF_] M.W5'62-2=$SZLM 5%JJIJ0W9HU&$=6"P<-6"7QIA!8B:'; M3\/0;[W3(ZO?/3ZZ_-LZ[/4/3L[ZWR_6NOQ!J>9%HK7+78F+?YE9EMO*/./ M6*8T!DQ42Z"'7.S%2JCV"W<-PA:+GZR?/I]W+RZM7N_7C_C*.A>PU+\[ M[6FQL<$6?9,C:N>)B-J]^./HTCH^N[ NCK[V^I<7W=-+.2+10'BF3T5KSDZM MHW]^[UW^78,G3[J75-'F[."/W\Y.#H\NK&_=R\NCBW[-ZIX>6KU^_SM\=_[] MXN"W;O^H;YT=RY>M_M'!]XO>AM="P8.EUL36.;9AV>"=7E9QS4);".#MOD=% MH263/>WV#[O_S!I1RH/*^X#%MY-!Z&=5I;\?GU^J&M)E'E2BC MRN:_VT&*8E.S1DT.423*NAZV^K/3=_S/[=5W3E;V%'UA'UYRN#6C.C,W,4UR>L]-X#45!8 MG-@)$=2"__FI55E,AY7Z!T#.S+IF2RH]]NJ>W=:,0LS@\V_P ]_+JMV- 8I7 M XJ3\'KE8&*. 7$.[:VHI[6@4?CQFWIYJMO:91N,%\6)]4^6 >ZZ,&5J?/<4 M\+T'7Y]ECED4^>GSS_=,N/.NRB+[S(OH=.J=UDOO?/GG_:;O='N[WGC].WT> M^G:_XV0-Z9OLN;Y)!&[!.5Z&INW7=^;YD@Q-6YMKW-[?'#*VD6+:)?4=,%1L M.>"_VZQCY)2A8NM]C9V=>K/YZM=HA+'YRF:(W:,-&5L6&>O4V]NO#O_F&I\N M4\^- GL5,O;*X5K&Z_-6O3ZME;(B&P._\?H8H#!>GTT0Q(W7Y\6$\IUZX_65 M4G.GSVUH6"D)W1@:C-?G!>%_;[>.A5D-35OO:]SIK)BAP8AIQNOSNO;WN+N].61L(Z4QX_99+AUK[=1W31#.VM_C'HACK\^.5L?O8_I.%RRU M6M_I'36MZ3N]27VG7S"%\S0E/ULXM/J8(CC&(O!1O,;)G(4YNE2^X)L=.6.X M"'(EMJFV1"2L:_S/[KXEMXP/1IA][99J-U2G?*Y$/OP20*+O!8[ 0A:WZACB ML1T)K*8A@ CXE#@ZB,(?>&28=QKB:5I> &,E*>>>PAD-Q-CVASA$K(%5L:R' M%UMI0"[])+0$O(^%*^B)),2DV2 #S8$(Q-"C$A7Z<)C,"DM#(DK+@E=C,7N? MFWI5@+V''I5J=]<981^0?6VY'A=,F=JW%O\M]X\U43!. N78)8H)U&KUR24 M^ !S "OX.$!<)!(;WK*!7WA); D["KQ@1#]-N02^-4SQ694?G55!0=#"5PKE M8^($?A0CS[%LYS^I%U,=%8!XVT_&83H:PQNR3(L#WWN8" Z[P 1OQX['Q9W@ M;,,T22-1M[JX3>' @)A:'M+6\X>O/5@^UL9)Z"77BQW8EUQC)1$;A#:3.-<# M]$A"B<8TD"NF,*J53N>5BI%' (N6U6%JVKZGOHT;=F3.>R3@&"(N7%.K*C)3 MXW..F6;,76X4<1Z\'5'2NQPOKTQB^?:U1HF&-F]JT] M.$[AC,Y38(AV+.C8C^":DENK+YPT@GL1FTQ+S@+K]S00(#BC+-#LE!D2G(Z+ MM9\BQ&J$!S@D@*T 1%N':C&, =$0];\H0#K,L2@%1(]@>2Y7:!!3>&AFD2)P#01!MTD0-I&@HN=@Q$D/DR3\/O-C[Q=%1E"J]4 M$:Y;H&U X*HCJSBKGNNUP:=&W3I,(]XKOUG]8OGL\NW",/NU3F=?"0ZPS6(1 MB@1.V ECJI$%:!R%-\3Y@3K_W-G;M9!472C3_'J*P!%A]12J!-7=VGE9SY_^] )8; M70GW_]M4;@XL16G( #>6D#3/>[::UM7MH_L&]EG"-1>4 G' *EY M6%!HDW!:'DT_@4P"OPXCWRTL,.?17!)R*R7QP%5_3H%58/%'>3A90$./;0NV'RN]$"]D%K 51)IWJ>$ZHBACAS.R5@D4I0HC0HE$RS=7B!XZ< M8G!>H(]%MR#:> !'$YIGA()=OLJ:MB32D2,/9"!+>7[""K"V/)@N M$;*L*8E7O&;@_?>"SB806,TXR+5CE3Y\J\X?R"8Z/9&R1B,[ ,P:@4*;<-$V M^3$91V0BJ+8A;.HQG@HX+=L7N85%H9^NN)34#UZKT@;PD"-!2L=NL]YY1TI6 MN].N[V4Z =6P^[G5V*FW\^\6'+]IN2G7)*ZZ2=M9LVZ=9>8=&!8H%BTP$(GZ8R2QDA(]H=B$E!\!R\)6*I/ MQ(Y+1L=)MC$R<.L#PMLT'+!6X!EC8;OT@J*%\! VF9YG4W.PLGR"=BLDU+W&N3K/N;IKG*O&N?HD9?,B+Z%^IC74WFC-6M[G(_,Z"ZQFZ8F=&!_:J%GXSX=EY7=6]>KB M!,\\&_OE,SQ+.S= \(I T#1 8("@L:I L/JY1(I!;]_512U\0)Q9>\.YVO?.RF+/P MTM:>1&XPU'3J+UPOVD#-1D#-"Y=">A34K+X6^?*IW,T]FI:=T-,H''K)1C#V MU<&BGSZC']^H(>M\@=OU%\_#-Q?XO!>X;]3(E> \5,7-]RFR>"0"$6614RZ& MQ%+,'(8?BILIADYNAIJY2KC0;+TN+I@+?.H%;M=?O$B?N<#GO,#.ZUZ@T8-T M;M3-XWXYSM-PG&>&O8:A5VM^?R_>0\[G_&AK0R[.1A3CJ 76$/,PJ(L M1\[2##!5 W..5 T+"C VW.BY;0'&EK/6]V=B.LS]O3HWVA3EYROFVV.U%-LG M+O0-JZVYUK&'.8"J()9A0<\,CUO;]1=![9$(? MK!.,0-!8T="[P>IM,68<;@0'VMSXGZWF2^M4)FIL_:'FQ8FP 9I- )H7]B68 M2,/GC30L%Z79"-:^.HA$WN5=HYRL\P4:?^EZ7^#^)H1W;(IVV5,%NV1 80TK MH!FF\^P&%>-46^_[,P9-2^AUQR6S)=3:"X6RR5<&8H@S0&* Q M0+-\H%F'_'JC0LZU7W*M46L@AF$DK,2^,2EJR\AP,BEJ:WV!QH2YWA>X_](% M/8P^>9<)DU@.\!JC3JZ%D-=>BW(X!FA6"FA:]1T#- 9H'G8US;4 &J-.EDLV MJPY,43BA=+^LL46H-1;90![?!G!QPQ3[9*P)ZLU?Y9%_7M=]B* M-!J)_*0K#]7U8 &RA)7L&UV9R(TS_I["8 B.;Z83.) J+F]\+LL;;RS%TJLX M$\J4NC RWKQGP'$^\>/?: 3^SOWTX8$MB(L-G*O[$'?GK*16U<.76^V"WN^K MKL+:BG U->MZ[&&*J&K.FV,,D-)WL[1S5&BP7$%!<6N(_I%<7)',R*;>.!T] MR7FITS!2Z*864K. ^2>P&Q@Y' YCH):#VSL;#\-Z0+0:%[L/YV>QJ9W"4790 M)6"_<@E8V4^[4 'V**L N[$(6SZ&VEWGD"-N_^O_8T^FG[I52%OL,=[I $J0 MO++=>9RX\G-KO]ZY7T!12ZJ647 N[(-*>.#G#],,+!(4^Z]SJVVU)P'\-KP5 M@F0%. O")WIF .<&Q Y(28YQ(%2D#O:(5;,0)>2>Y(BON!B59$X23A6KO(MJ M90/GE ?VB'5UW\E#PQ*M[XJ'I9XM'-9<&GVGI.>6*-0$ODQ1E+)'MA< A8F$ M;TO:R=1*36BZD:]*-_(]-:WI1FZZD3^*A5;4K=U8/GF9:SU(!=,HFN%T/S?K M#9U-L1P)P!4Z'GE6KCV0M#0FPU02QT$Y$[Y"LCOVG#'KN,X8%2^B[#+H8B&N M2<0^%G+ZDK:, _AB!!P0H.T*=$J .RP R?Q,?4>,+4Z 8 /A3Y"$HXS 7]LP M7B2&*!LC&V 5?6@[&3.3CJ58]4??8!GRX94T-Q8_>@CO08 :$\ $03J)7+I( MY7JQD\8QFRQ.PT18(.(IB5(C)G%-B96ZL0$5ITA(DPW@Q,3^(?23GMJW"&Y( M2-/!OV$A2NR#+QFW;&?LB2NTNS@B2K#NW- +[,!!]0]$H"'N- ! 3L8@JHU! M)HM9<)K"4@-4J^9>;#8Y(1AI5#CS8;>?6:\0=P[@=0'HG7VGGPY@S0 $/\:P MGUN9Q,MK* (8Z8N>/0"\I)TING#_^D#4#48- F5-$C;8W44?X*_41W/"%3(,Z9M'5@,/JC.+ MX=SCG/+";"FLDG6+6%X;,AEN9Q"\ J^ +LD; #0(>>:&[-)B%^6<8WCS( Q5HIXA$S@/I=;;&!R'R M8JHMWQC#HQUD'!Y6,X- >YHU6F(0,%D_=?GM!^]*VM4+41\9NX[9*(T\G ]- MD=^I[;G6S[DB[J9DPB;V'Z81D+S_I$ Y8)-H#>=[L8:I#\*#?_=%JP.[XU0W M6(A8L #JQDH.9\HCL*-0 YA.G,(("$ VL!=DB#DC&D6""2GB0B9!JV_CVJ\# M#%H:?-9%!X!SMWBPEP!H >B;H]L:[[L7./7D310( 4Q"V(![U MPFL;EWGPQ['UO=^U>J<'9Q?G9Q?=RZ/#?#3X-1_MO0WDP+>O<5<'802$D[#@ M Z%!"??;S7J'EZ>P[KT]1!0;>23'B.%0"CJV=1U&/TBVL:<>^GYL%X];L9S2 MP(UZ,T-DHNJ:(6DLF*(6L?0#4P/T'0["\$>1KG.-1#YFXJ5E4MRI;Q>D /UR MD+Q'>#,VC3XJXW MO0G(&'X(1QDSH=>X)1]^7X TP-SS7*VJF^$#TE<<5/KW< ' EUF+H+P ORQ64=7F2.$JWER"2 (NE)I\ 0)P7+#:^!%8I HB:C"X0OB M&8O](+!X"8IH),\4G+M>GN(0#H!:V7+O/*A"?[RU-\"+V)V+)02&*'Z#4(>G M-?5M2791#9LBT&TP7SI>2(R;0\@4$=,M_7HYV0K"ME-O%?!$$JFB'9YA<9X? M80;TOXHP&HD$4*1F?8.9059/415!9V20HJK"0IS"""8S>00P:F-7J.' U..P MH#[YHGP,EB=J!EW2+O9K8; M3#OFE+G:6/J@ZT9CVR7(\4IG4 $,+YL;B6JXI MNQ&L,"#A#%1/QYO2S,,4A#F13 6"6E7LDE>HC5/U$AFGZ[MWAI3FN.;H^12= M>C-_+;9A9/9VS ^S(O@PC [705">N3ZD;X>68,>%V=CSY4EJ0/A;"L3V MPVL1D>$^I?CQB+Q#;& AA(;Y,-]%'0.OLE6TZ@7U-,MY/0V3U[/.6ZS*ZVEV,'\$XV2+"3F+6$LK M\WJ:N_N:T9V1O['$O)X:^N_BE%)6CC \* H#SP%6W@M<> 4CRVM6%TC5)"0J M0G'&(@KC*08/470H[&Q(2JI*1<$AO^UVS7=^!_.QCD M3^)0!RGZW>)0MH&JG"(9]L"A\W8"JQVDE"R(+Y0RBI+KL.SQU-77VJP?$U:H M>9")!_V\7;(C_=S,;ZLLV9UQL"TNKE;>9G\;ST/AV+56F0/[T!)E\:.4\XADC=@JKMV00Y7!(KJYD7-6/2+B5&;JR@9#)Z5$:/2NV8AWF[@$PL:.AY-0^0,WYN[!T%8UI-9XM765N%DKNK9'X,A=='IAFE+]>U&JBK1I:JO&\5*6*<*M"\!D@2CE2-V8T%\OL< M1KI'"/\MM'*I>J&]\P ?TMV@KCEZBM/:!4)>\"&]I'.(.01B)(C[J%L%(3 G\J#5,)$')O+ .$M7P5E:\'K>)?87W)?-730FSG>6-F84 MZP5]I7*4N?Y03-*+1%+83^:%).EKKN^1^,J$=\>2%S"A(&-J"^^]O&/.AVH8 MQ^L:X=6O@\\G'NC)+EX$I?S)M)H+$8K96E',D5;IF+CR>'S'.QF M;0G;33WGUL4D*C2@Y3P"DYW_:ZOR:^7U%.I'SB6X%2:,>DO+]-7R>F=5JKFY MM/?F#Q=X;D[/,6/"OB6/=\6.\L(F,T/(P@!WO;ZO)1MJY;@&J>>[,U4PL;*# M$)B0.%'*+SG=O8E\%!YT 5*R['!Y/L"N/%GA+HW80J229ZO6'*68NSX_9Z/9 MT((G%C7S*UZK)>[5LG@)^'5 $5IJ2YE$DQ?R _UDBT8$^26O9\'G4-B!*X:" M+, J\^[.2[MS VIY .98P9-3WL*0DEIPY@F6S0!J7COA5R6-SR\3=FR)K%VR7&> PSE?0OL*[ M"".QPW3JA$3WF!K*TL'.#UDK9>Q1(6%O,!&LWEF5@QLCE)[[DQE MFP\=;"R48=TF2 1C0\.(-/2=CJ_-8[J:2Q4IQ#8$G)LE?\QAJE4 > M++MIMS,KNLW/=BV00@7T.JV\-W54-Q.7BR#-($VMRC=/T%8F&@NP^J,CDRR_17 MU0) F)9FQ71"K:M2<4P?(#."U\;<*@1*:Y0,,MMM1$D'7J8=*^%D6X .OZQHAEA !J+D(N \L5P+&Y$Y'@4*42E3C!:U^&J0/A8&J!8B(A?J2TU MA!&$;'8&(9WD55CS?M2LB@5$$+Z7XIP*9_!]AM(KSY+ M$[C.P%5B>??*]GR2P X!M#;8;' 6Y%B-%1Z047]G&M P;$O+;*>QP_*W[]@#?SNC\4 M>Z/*O&4<&Z,/ M,+&5Q&2E4XK=WF\49*Z'[00$)ZP(BB)OSEI98-[AX6:W)/TZL;*M FMEGE_ MSHR]?.E47LX))_" P\&H5\W]D;#E%Q1X) M@!A_-6+>+_+Z2I6"P:8*P@\&=4R:8]=2%DM6K!>%1_C%#T-$@I'51R?ZUB5" M/4E3?WM8WZ\'$\EPA*RFXY?^E[]S\6OJIQA?(5O\$,A''*S&Z0WU%C=M:V&2 M9XAB4T(SRV@%K=Q@)M221 MK*$@U($31,GRT_,Z?KZ'F^Z^(0-#JR2X_#N4E M$;Q/ISY -ZH/>5LB5TSQ2.'4J#1T5O@U+XU=M[X_"G2+==*\6"_1#;L N7.2 M3CA'8XN#SJDR(;5#R@L1JV*%!6,,K/^&WN::E8C4&+: ZC8,?O2E=WG8K1CC M$50SJZ_(V/_@THDZ[5$ZMJHQJ A+[O3)B0L6CAS !^7*<@N_H5I.KVPJRG3)PPN6CRY9Y(O9PR0L^'%8 MM2W-_$XIS;B3 78.!&"(8MU8E6^S1A6Z"-4)7W)>BEMN:487I&ZE2[33>W:=LWMF0F&B11SP0 M59F;3TJCSIL(XQ^9I@DL*D$45LH.MRG^E.MN>8/DQ1=17O\]C:*??V!0<>%B M@O_YJ76_4O],?9[AQ);!4.12RY%]\(].NC"2S\K"^5[BF+4&U0:F-1;T.REW#7QCJD$^1-ALL(DAA.T&ML@";3WX#^=SH=GAEQ% MY?>:[^9?W0.'+%RE)>^R8,WZZ?/%/(/-75>HC'SOG@+9]^#JL\Q118Q_OF?" MG6>>L6 Q)$X/BVCNUQJ-QDMO?4EXT>D02BP%+UX2%RZ507 S8/_1U/)%L&*Q MU54B3WMGZ#L>6R7M>%,?(DE6,'=D(='LM/*I"$*#%AKNL%.1G_S;W M:-J#8GS\1F# YC*<]]LOCT\+G^8'PVOF\)JB+;%FB1OEHG V$?WN!:$V@) ; MIFB[+,'0B^M$"ZZLFKLU7UK\F[N\!W)!^)C96N$SFH)?W6"_/$Y'2SCF8B<4 ME9&E,91"ARL;GV) @*W25>*'F?N7O*=*;\#SN #L- DS6]!^YRD6_W)8TS/9 M_Q\]?P4G>#1?N3=D2Y[@=ON1UK1[)UB$__Q=';O_',;110^ K(DO8KI>,(KN M$1*9OI67N\JJLRA>+YN]R6AT0D:CY[-]W[OF1QS=LWA&'K^P@0_"IH'+%X/+ M.PS[!DX-G*X,G))!<.U@1M@6 5@6$7J8)3NU^;@'8,< M_#YGWZKB\/WK;KTZDC_3V3[G&E=O16\((I\[LWSA=)X7PH"7Y21/_KK75U^<5&0NF+"S,&2@V4/CP?ZIFS M?5\42E<\.ZHTR3/5NS^$@[WB4N3'6<6Z7A G44KE#C>XXKW>?I$*#*HJ>EM8 M16]+=1ES\Q/R\G.A!FIV@)4SJ7GHS32,,;M,ZP.J->LNU.65(S@85Q;Q!LPV6- MA0N',JI;&BSDU0OUX6B7HE!$$/?)0?V1%_^0GWX: M92UDJ->5B&31^E#50=4J#V)Z7E9V3]LI5@J-;">I6W^-157[/KOJ:5P&M6"# M+VNS*PBO15RL$(LMD1(M>X'VHFI.JBXR#UY"($9VO@1UG-GLA3513RJJYX\M MA&NR"Q=V4_,B)YU@"4JGN&J: 4&$;BQKY:6/JM6@S/=5A#2J& LX%A>7HY\# M]3JKA+W!+0,H]>!!&"U4;.4V#3;L*,4V ;'P!;5"F=C_SEO52/#SDI1?XO:. M5#47=N-EK0>F43CT?%''DM<*]!2TV2YHJK'J>:S:SU3?3[Y\6>N7VM?(8K]Z MI\@B/IL^!JO2QZ"EIC5]#$P?@Z=)!-@7#_\IU=8ETC*XE;VC4NIQXF$B,PR6 MM?(, P\;!B++F",#9 )#S)0&2^M+2H4#PA(<(MY,%(>:&82G50L?.\L!L$DF>\XF)2&O-6[TDGET)3"0;VE(=\)#* MGA-WI0K'02"([S#;(2[M1?#Z(ZJJEWH>_=S2NI-UMJA'6O&FXVM[FC?'F=M[ M@AMC$CS HUO4K-,ZZ7TYN^"J]]7EY&4K,BPXW:KOON/:[CSO_+=D[PER$+R3"78\A!T9-H:40".2,P+"8!A ML=B5-68H@.EB+X<"0#TI2^BRM-:@CB:78B*N@?<)8A!<#M;_GJ 04]7QKJ-W MMLXK0# 5*C;0*$IWB3I';G!4W1:/6J/BK-@E@.N.%Z=_W]S=^9"5E*#NHU,& M7_^6"Y5[L2QJ3X"G&D#E#3E!SLY1L"2$XON!:@88BR3Q59EV=[+E5VVPM9W_7&HH&-_949";D.GGL:Z5Q>\MOU\4W\=4 M[-YS9:_$"2 %GMK ]JE0NP0]K1,.4E2"[#@.L8DZ'&E&Z^A*97LRY%212&ZE M/L%Z E5!@;,GVN3??Q.6F:PA M$M$OM ^ J$3]TZ?4_P%@5352KJ&= ^"1VHQ//:SNF/6&93H*KX-$>N4Y;+51 M^GB*_<1S<6B.U)3W88I#F(?K!V$CE)CHI;8F%*F(;,-7#VJ;4!"7N+T2/D=; MKR*[Q3X5VNP+MFT%/2:\!I$LJI4$ +AUQP[0@I!WKY!26V&7A-=JH:JYNY)7 MN6?XO.-DFJ-Z2TN@1GJDM64E55^.EM^WUBDG[\3-?3HS80&;<50TFRVW/GUD M>POK&/N?JV-3=,VU<(QPXCDPKC3P);?2BD"ML% FPC>^_XAL;/9X;484K=3PHA3F.D'V0 MIRE OB.M=@RWX8!LDR TPT-(714ZZ?(:@.*4^I/)'P'CN4NEHO(YF&PJ5;X< M@Y(_ LD&(,J+L<<,\J"BOC %CDW68IW[V:Z;-PJ%OT4P9KZ>T[3A$!O !-@$ M1O'N2:$)-@Y<-@VC&JEZXV0-M$NM;[CS,3[O(%($$)(30%)J7U0PE=/5QT F%C)M?"OA$5ZVP8#?!'6J(&2/#X=WC1Z04(A4W!U M^AES1KX-[Z 9I%:"T2C3.?+.6[+KM7I=OS9)!^FV!V@/QS911=#$[Y!])PHZ M\4NY,E@)8*EF8%#0G0$12Z:D*//%5\%U#E(SP*B1A/]])\AG.P_@XK*6[<6M MS&/-V6I)XTZD121;Z6Q[-C[H@=9LL3 K\L^A?15&/!ZZ80 _AJ@CVW[Q>&%3 M.1-7RV [5JY; G21YID#"G<^CX02W%B4FMBNT%AS/D7Y<216H\B>;"J^@=C? MIRU?Y%L^YRU;;T3^EUHB^S*32-AQ"DR( 2$'$2<$[70"O")T:U8:*]F7K'Q; M7E"3GY!3TZ.$I$#7T\DT(=,=B>ML8HG+TY!JBDPP#!!\@430]^/0QP;<2M(B M72.YK5MG@?5["L)=*\@"B;BHIB6217T([],V&_6\.>Z\3N=Z(S[L#HM]=''Q>HM)B40SW2/U183Z&N*QS99K M)H47*5"'9F/0V6JRN%-#TA0G$*$S83J'[!6O6P,76S:%PJ1\M==7E"J\^: $Z2U=+W6KN:2UPU=-'-]+% MUW7HFIO[[6UI+)U#>)C4 1?+O)(6J%L@ T69OQH5([0\9Q9?/"+R3E)[5#H" MU2"5 0'-PW!\V(A/NX(RD62I#-[F%2;>1/D?I*%3P:G^)I-O]&HK&JVW:\3%22O%S#+:@K]QR5;!\]J,VR)@V6 MTG39F->]L:3'[]>W,SPF&Q[KL@C1Z MG$45?SSQDK]RGALAT6L9;O2K>ZK;Q M5AMO]1.$P\'G V1<:'?HLI2$5.H('D7*$F=5+#=30)P"1;2CC#^AV0,36=@6 MD&DZ9,%C%3&S))>\W!/[!W!M=6I$O/^=NB,9YD>:8FY>@TG#B'K12_<9FF71 M/@#@HSGDT&D%*E8J9*?AW$2-?V6AA<#S?/:I\@Z4W9-'I&<+7CY=,);L&E':#ZP ]]4/^0NPN0>Q%0PPLC<&NQ65 M^NYB$V7?!4(CT.A!!%G#X8"-@*] R@XD"P 1M$=* M@LJ%?6D-P^[@*?82%U*75Z%A<&\LV5',8D+-Y.%(B7,#8.& .3#9 U1 :,MV M%)&?C5QE&A25[SRWPJ'&#\?G DJA &'3R;"=@4Y=6B'J*+RF9![A%:+8!6+6 M$.4T:7^.=7CG>^ G).QEMQ=&VL%NJI)=Z9V(X7&"%SR1G+BJOMQT(Z J.I$W M8!?Y:0AR?C,/M+R/&NG^_!Y\:>UE7>POB,;,-:SJK:<=Q0"JULCV>X]]& 1' M^JXTL$0"E<'#0*AH:!7:H9-9Z3:[>W-O %)("\&H%W'-.GJ<-VUGQ11/JINB M<0]>F7A)(L2FGLNOWN>O8>BB2KG!5JD>((1@2ZK:+9%YM')ZT6RD6(I\-$;O M*B 'VZ;B G,6K/1R#(06W,?/6N^9&CF?#@^.^:/[Z8/&-F4X#BF3MD.^\4R9 MGQ.+P=(+SHX!@K1ZF1K 2J7@X)("]@#(G-,*YXY\JKW[=U*9CU7* MX$["Z2>Y9&X,^/JWT.HXPT]W58FIV,*KK_OR#N117%9CF\Q^A]Z5X.!10(E_ M"R?SU.;L5I0]:QLH:@GF +HZ.'(3PPX\]@O\'^ M!V)_#KO2Q.]+9LF8&XDA)CNQ*)]0$V*%?QE/S8?0Y (M&LBW,?B=XJN4H Y2 M F*=%\M1LFEL'=NSQ+4BB5)4Q2O'1E,$IPUBACX&+# +P\BCER@B'M8T%0DY MP@RV&6Q[ 6Q3,K0E4V'@/W2D_??Y3]X;V@@0$*P^) M53>WVQWD%MP#"2[\QHG*9OKU(T[X>8.UY+]8*JU00&6:'*<#>?D!*L.G0^9Y MXF=V'H %6#! +SD=/"8;)[;GPU.9 MM3!E0&M,]I=A)T )Y!]SARW<^]L05AR>.4A#0PNBVIK^(H0(B0L52,HPM5L> M+,#%AX'R-J4<N(58Y\9P8MUU9)]\7(\7X B44.1 MGL'K6G!PY77D):)J#C>\)OU,DR>4LY5%'UJ!MLTXDYTQVO,O'-!WD,^591(\ MN0K).E:>W**12;-&SQ28N!;2Q(,+S1+\L@0V/A2E8:-NN\70(J-:,BX^5XJX M5W:8+QBP8*2-I0L<,P!Z=2>_5R>I[.V:_VI#%;2':;T74H*[8,&'2-/F*['% M!&0I\L69.,OAV2"Y@3@Y$2J#)M9S-&V45B<>4K01R>21RCQFC,CE>C6H)EH6 M+,1%&3*CGUD8&&%I+..KD$HD/JMA'DJRH+$JN>GX/ZWG<^9$?' MBA>=W=RSQ?#^08IR/Q =I%X1JOFE0C2\N(-;Y,C"T$ M%5C5*$+M":CZ+>X08!^CRFCX#*@Q17A*@D,MOW$ *#'-0BYE#4,U[C6%T2LD MR,H4TG$..6F8KBB[Z#PSFB+R>-D#P:>780-RV9)% A,#"*89S-#2PB%9?%YZ M\0O)>J2-0142H34O=H("F&D@N(Z=0IB:9I+-ST]=E@NO^R%=DO:&Y,+J"WZ7 M 8HS(.Q8RW292*I;DDX2%SI:F8M-U M1C#TI!-FP5F>0NEFT9!"7P#%\ )*( ?)A"]"&?9*65$$;+&$\TB .!+(NGMJ M4(ZI=,50WB M"C2!%.]!!N,R[.3H5+>Z/E:>&8WA_#AN4B4+H;R-/BL])"Y( M*5$#3[:0DU3./E'%"M'&?L,4CA>>V#<<%IH#?REI"V$<.48QQ)9+:$KKA)LG@F?D 1$5:\[,H;!(J( $**9$V6JA(YE,LFUDF@QDFZ:#YQ MF?UFK"G6:(61V5AF0X.'GA-P'H6<=2AK^FZZ_'8A)+_AJ-R:I5Q[_11H0T3F MP[Z&^/I1R2#.FO( *MT,T9/ %I\"=!'QXL&^5."(M)@T5FGF$=^2'KA;N*6- MA>7!Y][ET3=KMUO'#!5>Q=W_A5?^^;U[>MF[[%[V_CRRNJ>'%GQQHOX^[/4/ M3L[ZWR^.^E;WR]GW2^M;]^*/HTOKHM?_P]KP/)@\&+P(7Y6$=J(7R%7IS@HY M $JO["TH*H(QV%EWB>\CP14*+ECQ@E*TE'M7*T#>4_N=J2H6:?U;AWM13[3\^P@X9DO_2]_<\%-6U7FY +2 M?&$$Z6?QMB83BH(?A2ID$UE-TT?_^/P) M&VI"K#LIDYRY?GBQHE88:.53]',LEO^4T =@4%WKDA>K2=C%UV?+;G;JK7?& MQ;4J+JZ.<7$9%]?3I;J]A86Z2C'ON'?:/3WH=4^L/LAV1]^.3B_[).[UOY^? MG]#?W8N_K].&UZG1[T [I>_6=V#@[/O ,OXQ=FI^K-W^I5>R+$@UVPV&-Q/@4=L M),#I$/4@;??@[/3RXNR$2=_YQ=G!T2$JMQL, X=Y*80#=B P@3N/0D>X6"%P M0S>N&X0Q3H#*(;%;*"_ 5-.T%R#YZ$*(59!KYNG(XDUU!Y(>ZEK,/3T8>V)H M'=T()R5[^AE6R92AXOQ;WA!,_E;+8D.'T@I/(;I99R:TI7-)"*59S#5$*)N# M5@+#T>]]FMV[LCW4I*V=*YFQCRE_"G6IKGN%QKQOPJ5'U&;.LJ5 MU$-@UUDN01V42JV#$2Q9O^)'7@H>ABPE@$/6M-67UC%'5[__"MC\KNZ<"];* M0%XR!^51U[K%?R#4T+E=AZ-\XUDW-O9O8I]T.I@@X.8 7[@X./'WWH>L.4&- M5QG'^#$FXRX'9U*L)I=JJ>G^8?)NR?A*S<,E?]5JP>$(VA99*MYY&GFJS@49! MVBUHVBYL,R8]/Q(C.W+9P2IO*K_^3>7!!1+K9XUN]+AXM/,4J0=\^$>&I?)LH],7;JG7?T;*>^\Z[<\F-^?3=-)Y@_ M*T!#/,88L[ B^+U:E> *- S+-/==5>/)!#1S@BJN4!;+RPMBMTH-=&XDM9IW MG&0WDLD&'$Z# 0!Z(K3*%,@C'!S@.)E'O! N.)==/8(.ROQ*V@'Q7^K+4AD: MHVH/8587_0+D(\TK/?83>SBLJ$ YA^K(S)*@M#=;.I'0LZVR9[+$&9690:5' MW/)928)'UUS*$?&&&F'4ZSUB_AF0^9C"$#>45GRKR/^1+!Z.IJ= 4\JHUAF" M9DZ0+Q1H;NCI7%;A3<[+RO$'2$RPA\+ ]^)Q'GF$$:H$O;)NHTQ M:8>RJQ8D ,3X%A'QA@41;_AA3DN*Q2D/A0.CN"LSGCBY3"]OAO&M$6%^SG-9 M O+UUF95@ZN"IZ722W,]RUA6FY:=U7*I($I?N]WS347:+X+\77EWN#$']U)# M.16CM_CE(N5$M]*4.&K"N6 )QD(C.39 4WB\AUXJ!B?E9UW2.4*V<+NI&?A!!SM!K4\%\[L6I9F[77!D[3_]Y MXJ&2U%D6[*OC2K"D0B:,9J7)E18@DYEX0 Q[U,) E,>96E^0 "%)X6V6/!3. M/O]4@#&.YU5Q/.\8Q[-Q/#^#@^7+0QPL9Y>_'5U8O=/CLXMOWV>FJN%:> MI7).5;$<_?JR?[>:M+"SS-:U72NU,!-!S I(0?RHI+T5;4P*5O'JX?+*EF0@ MPU+1*J_$QEY\LBA&6#UGJ]% L0J)$,K5Y[X=L#54:^,7J39^A=54O*G9Z3E% M2TU?PP0#M,]2 #S:DD?Q+V2'!J0%9+DMVK.KSHRM:GQ$5)%9^&+$Y2K@$5PI M]VC@?G!WN0)*#0"Q/TI $U"^+2\QY&?+MB[K/:;!P&ZR4S@D)99.1XZ?WP>J M'#'&ZMVU,=O%]*HXD19J=OP(*?+.G+"J0S3"OE4RO%!69[ QWI,N&H:(2925 MIXVO6;,+A2U+DDAM]N@EZWH<4@VS0!U!V0O$5H$=>ZOY?OCA0^8HT0P''SZQ M&=^3M4!DELTHXON:V#?>))UP_:AX;)UK&1-=WD-IRCEG\<'*.K\/A&SV&])> M,*T95,.4-?HXM?,$[(IQ:+FP7J5/4JQY7K%EZ(L;+^_A3K9).GU,BJJ^ '2 M6W@KJ/!42&8_%23*=7BP:"6:'?@QIM7Q<=*^%2N MR<;N2F, Q 3.I]YN\]#P_=2^M M\XNC/X].+T$6ZI\?\0^K(@LM)=0HT4*45V&3:T2\YBH 4@72!,8+K'!8XXUFJ#"11<3;4(Z/90(: /(#2$S2^4,6V9CV\ M*)1YQ*[0%W^;.U(DFV1>E1M<26B6T2/-5L-R[5L0+H>):ER#P03*ZR!-7>A1 M70F.M![WGB%+\R'(DF/(P=FW\Z/3_DKI\"^$"TV#"QN$"XL'IS=;#T&5/F#* M1>_R;^OLKU/@)+_USH&K6,!4+KN]4^O+T>D1L!@,->??D='DH\/[W[JGW:\4 MNDX\Z.+H!!C0H=6_/#OXX[>SD\.C"^M;]_(27GUCZ-=$%_L6:5TWFB[ H"#K9X1%PM\.CMR?HM0UVO4WLVGX(=IU? M]$X/>N? O;0,JN.C(YDS>'3Q)ZA/;XTQ;1O462W466'CRY\+VUZ>9HR3BWR% M"\H(2^=A"N9OO2\]F7M<)U:/QT]*,5.DU!] MP3$I],WB?71*362LB>>Z?AZGL;T[O9G?5>:I]/.]_0$K43Z@R4UY?3O[C64N M\ 'HF\><][. U R7'[V_[3(!WIR3Q54D!NMX@>K[XR% MFZ(7Q%YWF('#D^%32>C(6+7":7X^WFI5[?-- 1;[6.^#K N9HDE=CEPQ%22H M6Q=B1&$> &7GW)]**YIW[$63S08C>78 1^TW#T=?;!_#7?X5CX5(XOO@J4"@ MY*M6GUZ=%PU.) L^-#<;IDKG"+"U]^9AJT=-K1\$4WV]G9,,"4.]-!)C$<2H MR/*@A=S6>%YR*_VW65,@V-AL$)3'#:"W_^9![XBBX1X/>O!7Z/S NMHBBI5! MQ>)1[X0]/IVW"8#RT $ FY4[724(S$$%(S__1;U)G@ N%#YZ3-U6GD"9-A F MM--%N*B4 E8)+I9.F;"*];V0=JI*4M^K$6XV1>'#0L!9>8WO*6/(6Y@9XKGV MMTP;7&MC;7":4>69;'%+N^#GY8AJW__J]>XC5.I1J]?+$Z#S[LK(WOY)X>E4 M:5]:&>*-Y7;ZR:%Y8>5UP%6F6L^QOZ[ORS256%X-=DZ\PLY$(LCJZ0QDS0EX MD(NL4PE@FN,?694?"^QLZ@&O,@ MD^VU5YCM MR>2<>+D,"SYF+D+XC*AADO!7(0E_5TUKDO!-$OZ#(SDP8$(F]Y&[[=5B(AX1 M"'&7_'?O;3R4<,R+E'CNA?VT /5.PJFV@7/6Q&SEC+(?W4;@C._J(73,^[C>WFYV=CR!J-)N[ MS;WM=@N(^M[.[MY'<3/^5[/1K(^3R7V6C0<@4JO>:&9H\S!S["92H!6_+:U" M[WD*Z\&R(%W5>+=FL:F]%,R0.VP&M]S#E&K(G-N1[?OV#4A*L*E$UI?%;+^+?11 M'IJ=1$6&*Z-;H5#,G8'C6B6'9BF07,'TXF>K/*4/?S.V#K R'04G%:I'[&W] M49-QZEE!YO[1 ?Z>7T^;K\=ZC[\-PR!3ZV!PY6Q,R<)B7(V)>4LJ&*%3LM8DETXX[RZ>2]PZG.^?@K] MC\=V)&20:$UV=8H\X'E3]#A_JUM?;J- Q.NB@?V3*WO[MQ45_/XYCZ.= C\G MCM8Q#,TPM+=&(!O;.YW]QG:CN;V]L_/1;FQO=7:;N_]JBINV^^R6J[:Q,Z[C MM1W@70RI9R GXNG&NF)1YT*]Z\6X!@+%G (0S\X#,K52]8#@A7*]<0YM;VS/ M8Q3?[%M9D[RQ/9])R#77#9,P3&*SJ,T^H&2GT01JL[^UM]UJ2&KSW#:@MK'8 MK>.U=;4F!Q>JR4&)GZ>MYI&EQ8QF8@2 MG% K*S<=6)0GK9MACGE8B_G3OE%B#']Z.X2.K3SP<;N]VR;71'L)JHLQR:W+ M957RHB^WOGT]VX1F07[PG"K*PXD[<#IA-=E U3"TW=#V-TTNEJ!Q;!O:OB:7 M55(INJHO&B6;WV.H^GY\;ET*9QR$?CBBV#3VJ["7AHEL0Q'9!1E#64\PC,$P M!L,87HS6H#&VO;W-M&8QRS>0^XZA\Z]S]O,L0W?Y%)XLHS^>L&[+$G!W$59# M40U%71VLWB87ZYLF;/VI<&"4H$!CT/%'T2YE"X!&),+)!#"?S<:+T9SM^;[+ M6!8IE20M+\JBB$]_JWEOD"5*=LW]_?8'ZST_Z076U)YB%WDJV/"A;FB/H3VK M@GAK$]"P;5R,ZWAMI7S? WOJ)53OB@BV UNU]3;7CPQ;JX!;51I M0WQ7$HN;#2/YD5PE2\5/ L9]1/9B6I'K87_W,.)F!.$0'A/1(QU#V#Z\\;H2 MH/4/0X8,&5H5%'RZ,+'3V-UN-_9!F-C9:C5WV]LH330;[O9SBQ-(,8T8N(XW M=W0CG)2ZPIV&P=9_J#ZG![3QZ,81<6R=^S#0PO1[^^6CCQ,X:&%-X%+&JL!V M7TP366&;/%"-G7OS59IM?O .ZR3R!B.M/B>;>-U3>CJ.[@*.[G;V $=WMUH[ MG=V.Q-'6WA*H:S%BZK6O=HT.[V@R]<-;$A9SV94(P47=^ET,AY&XM;[8G@^$ MAIW7*KEPCVC"[@,2T/=>U8&MUMULJ84O2LP>5]*S4+*PFD\N4HO95/,LGE7I ME/1JGGN+%J@TU3S7J9KG>M>X?&4V_NC2D*_.0Y^M.N-J"ECK(H8::\5JZ+S- M-CH_FML?[69[:Z^]LRLEPIV=)8C3)DAU#2^.LK'03,$R/>C]A]+^+!U7O0!% M+#1F/,QNL;.S0EG3:(NX(VNZP<\82X5A$6^/TC0;S=8^6@V:S:U=^$92FLXR M6$3'L(CUN[@\AP&I(IFC'V( 6IAC=,H<8SURFLFDU;RK+I-A'H9Y;"@-:C5V M=]K-%M"@UE83B%%#R:G+\(;N&.ZQAC=W;#MWDD*J_1"=XY[%-T%][A']_DYDQ1GF,9;(SUMT+5;G5VR M;73V=O84Y7GN7%SD&;N&9ZS?Q14UCM;2-(Z=5\B.EGS@6 PBX#.WLA2\,3X9 M5O"V* KEZ#;W\>/>_I):$2$#V#,,8%VN2\7'(PFV#H[.I ?B>P#4NGMM1ZY& M^A]=\OME340YF:<@\:];X\B0 M>$/B#^MW&VYBN,D;(4Y+2(MHFM8]:W1A!6YB-!+#0PP/,3SD;A/);J.QO;>[LT3? MB,F]7IOK.O8BH(>%QD!/2)%0O8& ;N^HC(+U4T&:NPL9M.XJOV28AV$>&TF- M]AH@-[6VE7V]L03N8=*RU^>^6&,X3V$MR"LR?4.UB;.I5/3O=D Q29*\[M60 M#R /L2=A,"K6EB=J*WP?JTR[8D@UZA,L)^\%-=!4A ^J2N0Y7(]:>_CQ[()I M#S"*2,2P=)M4G\6UGG)%ZY?-$^\&<+1^!9O[HYK-9;6R92F2N:R.T\F;S,;W M#*LSK.Z-D\YE*$HFAWQ][JO8%P$I9<;V2!VR?>J<<@Z\* R )'\-0_?:\_W' MLD+Z]@A8G750QWX(8_\!3.DYE:EU83&FGNWJU;/=7[1$JZEG:^K9WK=&4\_6 MU+,U&H+1$%95XEQ&<+"I&+(^]\7^$EW:S[+QFB5I7SE5BO*],FD]N*U:ZSE] M[^LB[QN&81C&^A&@]NZ^(D#M)? +4V!D;:ZKRRUTB>I?B#@A(M^"*1\=@=5^ M71=ZH<;YW@(USN_@ ?^P#!,P3& 3J0J&A#;;>ZTEQE^9\B-K,M4X)D;:YKT32-M:LR94B\(?%OEF8TD6;L=I8GR;=,;9"U MN2Z-Q#>?19)79."A!+U" 5CUWD4Y/R'G0,OT+S+\Y,T3J&6H#*92R-I<5X&? MO"(O*6L:AI<87F)XR3H0I\[^=GN)NHFI$[(VUT6122H104]B;C5K62Q2GH5P M$HZ\&._,Z@4N/ M[]ZU# 2?U[Q1SOH_B!$;KU[MUZ_#(.JC_6:\!=\!4<#=U M*.8S?[C\W*-CG-9-IY''C,V^[^!"'1/O9)C0)E.UO9W=O>7%.[5,J9&UN:X^ M_ #$OS+LZ2 2KI?,YH]GL:7Z\')P:G; ML34"U0#.,(PX@?R+'?S 1V%1$8!'S3H%9E6SX'U\V;$QFR6YQ1=Q$@_T+V2% M/NX@JEE==P)? 7_DG/'NB%;>O_:"$6[:.J'G:**3CP=6+XY3^/-5PKD>SK_R MH[^;@QD&9AC8QE+$%GQL=9;81Z1EJIVLS75I%KG6QL5J,7^]JP.X,989,O\F MZ,8R'"^FTL?:7%>!S&]2K)8A\8;$OUF:T8:/C9V]AXB&B+J[AF"_SN%K5+A- MPG:>%#>G3<:31>ZG45=*>X.UWDU=#5DU9'5S,7LA40S)ZIXAJZ]S^#-D=:$. M1$\6=0UI-:35D-:G8/="WCC$P'U#6E_G\&=(ZW/8#N;Y U!-035$-2GX/3V M@@2UW3 $]74.OT!0GX.8;AMB:HBI(:8Z/HN;?V%WJ>9"C4&0&C8--7SDZ2U, MSGJ1\.W 1;KQ?PSA,(1CI4%_44]*NV4(QR-/;V'"<1AB/*IC!RC'I /?4X:\LJ%X\O LZBUO=UF"'CMXWWW[H N6&42R#UG=V]A53> M5K/>,!+V8T^OKR=[ ,/45/VZ=1\;-.V#5JY]4+NAIC7M@TS[H*?2'=,^Z)7% M/],^R AX&RS@=182\-I&P'O\Z1V$ ;9H1IKP%=-XK%THWUD$RMM&"7S"Z1W@P0SA:)3T<##V!,H0PDG)6'0VA%]%9$W3*$Z1 MB"2AU1=5W44)C7'+ M//;TYA":8R^P P?+A!A"8PC-QA.:O84(311!&1#[HGAA$SEAOAL('MN^D/@OUZ,X? MV+'AQP:-5Q* $8U/NE\,&L^B\8D]$+Y!8(/ *PVZB,#G%T<&@6<1^#P2&%1@ M&+'!X]6'8,3CPZ-C@\>S>)RKQ(=B2*7Z#3X;?%YQ2&XVMM\X+A^$L$GKW!X) MJX?I K9#/JU#.[&YFL+[(;Z7H%?*CBU/0WVJR6!/ISX<$4:4)XH4B(P4> &_ MC9\=6(T-+[O8WT/&%,>PTB9UL'A"8HA^7C.Q\Y_R4Z%#*9R)/!)Y(D7,F]X5 MHG_'K3SF'K)_FWM9!+\7N (?WZ+O?OK\?WAA#_WO,97/&(M(X'755W!?#]C8 M<1H%7CQ>[0W]XW$7U0M<]#'#.F&%@(Z44XPX@RAIA1%\GDP!K>PDC&ZMJ6\' M^*4=17; #]]S%"^#&:5)'C9'=KH[;7A6/]PM^N:GS[\./O#S MXTX:!J&<[F9CZP^KGTY@ ;P4LFW]V7&%>8 MI)H8W)1 R"DG+SD"-D'\W.>_=#%E4DG#0" MO0WF/[IQQLA75&A1<[^]79/CC:CE&LPP!GG03?U;R['36&!?42^&WZF$%\P^ M$%8,5P0_A-S/;2#&MC_$"F$X$%T'/T C1R(-X"T:T$Z3<1C!IMUU96H:B$H( M+A[KA6-!N\;-0O_^?#)NNNDMML;<53? M[,@9@^3)]08?:S;8!+"I9L!?;@T@+01('^./UD7=^ET,AY&XM;[8GN_?WF,5 MW2QJ]V@KZS-#P*/7L9G'\5H(,8,,-?(*>J@XKIEE<-GB^X)R>BZ(HY ^P(;- M4A8?"#^\5C+X,/3A+Y#TK"G(XF$0HZ@NQ70YF2;O8WZ#%]"WLC4S=74.2,#' M;[%I-#S!=JP7%]U9G&4VDTFR#Y1L[[D^1CO2TW71E<34@N1ZE^!Z/XXCBO-4 MK;UW\_'RJ;#V&'4YTY87EG[RS6SOU#O+VDYF>-I_Z-8N>Y^LQJW M=-B]G+>3!SM9RS#X$!XU>^6/>UN=[",*0Q:E318T4>14EK37P;B%)+]5PZ6# ML>W!$T%M7N);;171YFYM[MW^O6B9T@C(I5A]$Y.;DU$*0#+XRL/^&O M7.$PU.SYJ-G:@Q%.[0#CSA6P=U MZR *$V&GJPZUS\)U#>725OV\(/#:Z&6(Q?*(Q<%MD(P]VSH6O@MC!(96O#5: M\:P0\-K(M>:D8G7-/@C;UA_A?SU#(=XT84-IP^487HVMLX&(W# : M&@+QU@C$\_^5AU2I&\"V]_=;+[&TCNMH]LL/:VN;@/>JH MUKT=G<'U5ZY1T)H?IUV%W*6:ZH.YR6QKFU!Y3_(>ML%"28]:(>=Q GWLC4R! MVB^]((Q0J%@'U:9U4QEUL7'7T*6 ^$/A".RS:+6;)*"U*%X#/C1??#TP[S", M*!+^;V%'L75$G;-G5DC_;:IU-E;A=EXH1_MU .4OK%-S0>D0!#(]N):IH+($ M\#6F-X@([ND\'?B>HX?Z''O19!5NQ\QB9EF[6=:ELL==E._.JAAKJV7G M5?I8!@S=L0;\\.HE1VS+<__G)V0I-S]9B9?@4N1?W&OH'_#<1_M>(?DE3G0Y MEB;:+>8KWBL76XL)JB]R%&O3!%VF#RXE!WS!(+N]I:4[+UIMKJNZ3YPB]ZQH_/3Y\0J'_=EZ?W[0 M/?MB]0ZMTY1TQU^]&Z!I ?P%>W2LP)[ 0ESA_=)-72\)(WRSY_Y$!0-A:1>X M%/=?J&UN-9KP#W]LMK;:S9\^M[;W?OU8&/#S!PVD7@$GJW'#5N)-$CI2YBL= M\O%6F[O=&518053X8OO8Y>Q?\5B()"X9SN2/5I]^Q-JR]UAS]*:&ZP"CY=T? M;^T96%U96.T%3C@1)1C51%?L^QE.II$88VGC*ZR6C"]D%K];LOB)!2U^ZP;+ MZG2.M_8-#*\L#!_])_62VSMAN ]7^V,<^EA[$>3P5J.Y+ZOB\LMWPC,_"$#- M'S8"LM69'6\U&P:T5Q:T#^QX_*^A'UZ7Q8@2B8;'K&-\[(T09OU< (2;!H2? MNSC9HA!Z&B8BQ@K;6,)]$6O8^@&;W"+ 68P M^ 9OJ#VB?XM_#84$7IYDQ /0C^H*A#-3JT.=V"%:62%#->U^5 ] MY<[)UM#V(JR9#JNW?1]@),',+Q^6$$]A/7%YB&D80+RXA:XKWSC<>KS MW6!CGQ .C$"$R1I^];P'[E'W2&PEB29J[CN9>\VG7+3/ASL8B0"6XF,+(<<1 MTT1D% MLO+R,BQ!085>^O"*.C:-$XL9VOO"H7ZPWBL(I^B%#*1K.I0I],2[!S@- !ZI MR6'H6]2)- =3+F"/\\X!S)J%K86I^KP3>03TEHC1#L ](N7-PW1MZU?OS ^Z]$ WF4EY&P79!)^:V86J)FAW1PUC_3SHCJZ />R[K]3 >+N:>6 MN$&E% MH/,&GH^TL$C"<^2:9#U$Z]89057A-8],U!*<$)C"HA0U,U[EFC+T0[@E.A/7 M+20^L%;;FC(=T0CUT(LFLJ$$!4!E-(BCG1 #\%79\\*53>0\+7J*WI!\3;7( M4(1J#GW[7N_7K:%PD2]8<=XZ P2<.&-H6A?C*$5&@C_ 2E._B-!:ZPU\(FN_ MH>&W&I+VM(D(^1=*A8&;.DB@\IM?G+_0P6#1HUC_5=XZ/&+#/0ON<(N'"<(! M,F.PX#N#;3R-**I[4&8PA!C@5T%YXM/"&K#B EY)C/A M+:I':MD8;BH(7Z((:1 PJ0@6PHB5;=[Q4Y1>Y&I9+@D=X:81^X.P6$?,@F#D MQ3_BN=.JWA;#OB!N H@*%J MB.>V!7P^0;SW8"GB"@MF.]0C!JX0YZ,[FI"O@9;B>K'CA[$<<^ZV"D=)HDN^ M@"MV:JC!*\6^E%FB2TUN@",ZV*X&5NI-9$-E5R#_SHEB#66*:\R>AO^7ID Q M!.5H*5[;NJA,%I])&G ?,=FR#-FU^AG&C4F@C$*6"T J MBY!U2D,"#W8'S592!EFXM*G"J"Q]%GZ6$B^N+'^G;HCR:SHU+--2=XVYQK<$%8;A+!8'_XF"0\$;51H-<9U ME^455'_[APB0R]H@NH2^8!'EFI4$&+J&C%E;CV3")_S>!$ =N1<.^!S /0 M)&5J@5$CWB:2GR[ MX@!3@:PZ6$:D5@-((Y13E;K+I0L&+0DCN7V=SC&W+[: M=:]0%OTF7 )&^+)@TFEQF&*8L!D,.]!$V8V0]FT[GYK[H!_X/GZ+AE"TK+X' MA34*;TB^!1+P*5J6(S0%LUD"GFRJ)TE$UA9TI0,>GMH=*U1Q MG*63U,^9J$LEPM^)N$N J5?CH].L<4T!C'(MPP4(19V0CYTXT#/?@C?W%J3Q M"J:D+J&%E2@F;7L1+8B-\S'JHW(-&4/.U3=$S@DPECGZ'AF2XCB=3/D,E)\& MWH)]", @_"L"?2U(Y>/2A0$ 8Z]%T3RZ7; MUAA$<]CZ2!H<;$[;(\;,6\)WQ1#6E]24JAP+\B=)3),VJHQ>TP'G.ON; /7, M3* ;*[3KQ5-["%B3;S D>P+>09$$^YY-YE*T]BT"_\ID4>BL6T-["(!5B.PE M_N7%,]P?W@]7:W+[@' 1/5%=CRR5I22+Z[LS^#0O(2ES!)99;:+5<8:?%@F) MQ54MK5@G<$@W*K!/*2+NMQ)J<[$]$,@Y=&=-2 6U6F@!9_R_[=#6A(G-9 'Q[Z)APB%6C M])0/#GQG*,C38P.&T"M2%:<1XQ^>SRT#?P3AM2^ NQO@-L#])'ZPN,PZN)5N M)F5&R9T.BFWD\*XY=^4$9'>;VM+X-08<"",28'N_5P&[?H DRMIH[1%J;>W?;(CDX M,I"6@DR(.>SVYZBI6O!M'CM#'A1W1N=U@.O9/$/U%=VE? L["K8P%F-JW^H1 M0^DTS.(^,5)!25K:DM&VXL4Y *!U"?A.. I(S+(33:N1ELJM"3"[]/]G[UN; M$T>NO]_G4ZB<[).9*N%%W-F9N IC>];_S(Q=MB=;>;4EH#'*"(E(PC;Y],\Y MW:T;"!F$)"31JM<)&=RQ]R&9U.M84JBF MXF3<[%4N*Y41>Q'VQ*[R!POHKHC1A\?Y*>?K][^/YT M]UWZ^O5^O4]P,;IC9%A+;1,+;91!^4:6$!-8RPMK+>K:""]!ZFO)C,8 M=X35I0E%8G E&5>Y2Z2TV[]/&-JG:I M*7'KF0QX^X&]:#)843&;TV13X!/H5K-S_X.* C&J>\WN/2&.UKZF2ETGHIO- MN$'!N8II@IKA-@^)[BWCN2)+V- #-Z.*C*:0#6!"#9XB*]TB^Q&I@;&JV#0H MOBW3H1U46'68N:4+1Q6Q$M5?I:(2YRF^4PK+,>!]4G0VVL/E@:&@RSZ-,,[.%Y;] */FUS-ZC=^^17CT6%M&!/@ZXZ1T'>A1_N MWR/H M[1<,"),T&LWLOK6;W6=$\YD3;3Y3U-XS23C&JVH'-*^MBE>@98K/"MC*&-]A MPP/I,W)]>0_FLA8QT.R?O&C=7\@K47]2MD7>@*2P)A835CC+6VNILEL,>V-] M'H7S !P3W+B:C48W-+V'9E4$PKN[I$9./BB-O[#='VLF?/I0%N]82WGM&, M&*5>7J]+1B7"*W(&68A/Q2X:=1'<$,L):.4;HOE ') WSU9)?/95U&;!]KXB M\/2:EXVK:W/-\=7^4_<1#Z1Q M+*7>8N+38@:+]2)RJZZC&!'MA?W&'V"QM!; LB([9T8TLHYL?0A.Q-Y6"UX.PJU?:J<0P\V*PP(--*?PZ]3=&-C@"8$?(@,? M@Q'+NM903DA[E_L,&ON#PSG8ZMCO)S[1;+=EN<>,. _WLE?I#GRB?;)B3Y?5 M#(3N0(U^7#A+^_!-!$0*YLXZ.QWM 8?H-E:G#3K'1%MPZ43>T/4 4LDBZX]* MESTB+-$+'M8T]$@GA+J$D[6"$8* OXMMKAL%7-]+VG>L^Y!Y'Z[UYO0;X.8G3W<+]E*?<"^W;YDR MZ177EJR*LN22C%781[;JBFIN_%CIZ=###/6J1?ZC MVR;MR/8?,O9 A@@EX5JPD$J!)3-+Q#6OS6)DR)O7N=S%=SMXV>>XJA&A@Y=A MS1/R7\SUQ7?<1P\,A4 _D<:?F^I;7K606RU#.W=I89>1QP+-D"!)8<6FE[I1V Q'&_K68U\]MXEF^KU)YOJYCO^KN+ZE6I^W HM"]Z;NU&3F/HB>0'[ Q M>V[#^N&M#[#/$Z$)ALVG&#J%\QGP#M_IG\HNM-(H+*T<@50P/E-0$A& .!(@ ME(("8D>>&6%NX/4;]98L-9H]^%>[_;'E:L"A=6AH: M>_O'X]49+W%?VK5G55W\ALE,R%@#<)Q)_ 48WK7FV45+;K45M_3=7?1%;F=U!%YV@KCK M1>!..2[N%$56E&XQ@">4QVAA\8"Y'R_HFK-ER2!.267$>Q<_.GGVDXH%7@EI M^P?UG3A<_4]$E:#R%(8JRR0.B@ZQ9CVI!$@=8LV^W.RUB@$Q825$,_Y; U.L M3.Q)('A^-@2I).7Y[MFL@ Z3\?BFW&YVBD& @L>G"*E&4AY_,*2:3;E5%$@) M93Z:I]]CRKC&<[CM+!F[Q&/^06=^QM;X;M&# E#PSBN-(_1F4MG!,7#-('"0 M%B&XE%5QIXKG9:Y8*S\)V69=SO//V$QM>'@J"EM2* M*2H?V#%8OZ\"VT[L!Z.'? C]*TI';K;R4F%WW+\*&4\GAN1.8G?;84ANG5WT MNG*S42\5D(7)YB?OW%O8D AGW6#/)SXNZ[]+CUR)/70]N=X]FG557B%3>(@ECL.G#[&.W.[TBP$Q8-5T7 M3#X;"DP<:G,M:8@C\J:R)+X#8NCN,3%[&[2HZS<^6?0@PNSTY&9'I--6#VH'Q-:S M@EI7;O>J(0(JI<%_-XV:/\5A0J;$LFA3SCD&J?A\5C#CA%#(AE(3!\>O^%$- M R>%]C:CVX3%%4I+:/W5PUCB@'4F&&LV"I*Q+2P!7PP\T*E$V&32)N4.0A>> M&OE+?/#L]&>.7 M6T+EKR"^$H=N]\?7_XAE3E1[M@ZM6C%@);3\P+ :.N"KU.K]:67FM1('@.E1 M<]HUC?%!N>:=W(JE1*9IM?'<3AR 3@_/BJS4\\I6*T3":76LE.C:B7++LW=) MKPF@F9A+.MXVS!+RZ^"SXY+V9@>)0^('N!^:W9ZL](_$ ;;N7)5$VDE#.G'H M_1!(-UNRTBP9I(5A]FYWZ:]\=IX[4N[1,<<_9Z:.@ZFQJZT[U0N^*F&.M;/* MN1-UNA?_//*N/]K ;LH-C4-]/F-OG,?#B=,IWND(K7NS1[/N,R31J#D:K>5< M>GDO7JI&S=516M;:];A]]Z2%NL*N>Y6QQ@O<)[>=O $!/ZU[=E@'=2+HRWV1 M0EYUI"5O$) BTNIR1RD(TH1NN%4,6$N21]>VDP[OMQ.GC_ #"C@6#B')1E-6 M&J+ROWKX2IP^DBZ^E([<[8IL\4*S?"]MD ZZ7Y95\R\\22;.!!G"K_""?VC. M;+BT :3$!)-W-. >P^\VI,#O0=RIR><4]6#5^)V!NG"JU^O!LNOK$GB M)JUHANVHNH[]1UF#,^QSH)O&,=#CL(I#R^TN,(_7$ M$>ZO<+Q/<+I7<+B)B;R#GH=Z/:_NY'L4X<0?;_%E3.6!FSA@?H+ %2;+3J-A MRN];.ZU:QT[B('U*T5/0Z?)+S1*5NQ5'<^*4@)30#!R^F]O,,U&WFZI@P_A0 MR-Z2)>)VE?7D6]!,*ZF *X#:&D_$B9,(@FKI(?7WH)FVE6.JIN65-T4'5S=Q MWD"*X.H6"%S"KA'-Y8Y"B(F[*FPT_PKH;DD[S(G^VI6Q+O?:!:GN%>(@1;RE/($@+;QU944IB&$J M;(;U#M7E%P.G%1SL)@YUT_,.N@ .H.H62)&>W&CDY?X5(>^*HSIQR#M-5*-N MU):5W&9G%B+T71W3)CJG2PBXDK&"Y(%S_Z23T7ZK+G=R*WX6(JW:..XEC]$? MBN-F7^[TRC5')%W#3!JC"_,?9U]N_N_?K=K5S0_X\KQF39YKS@Q^2JR).2>U ML:Z!FE"SB&TNK3&Q:T/;?N!_U&;.7*_IFD%N'3*OO31>:NIDHN$^EEE$8JF. M.9]K#DW]HHVN$:-@_!-CC*VO/WPW'2(IG8^BY>SZQ8/=3^V%:KB7KMED7-/> M:C-M,B'&;R[Y-_REX+=+V8>ZG!??\Z":^1^44-E]?A1LM.\VV9<([; O^E[' M8KMD2R_OQ4O5][HZ/NJU&N-[RTUKL9%ER-+?=N'N7=B!';[6.[LXKRN>!*#_ MD1:J);VH^I+(TB[7Z.]TJWX=VR74ZW66/1NZH3U301N5U*4S,RW8JLFG76[< M5W:[,6@DAAE]1\VVEV124O](T>-RO<2EU1[DJ9#\%T*QI*-AR^2G*#R>$E<\ M5P=/0H->%Y*-K@.C=J0PI5)8E^&Q! M@&9>B+Z25$>Z(F,R'Q%+:BH 1! )GW:^>YW>O=.2.ZVVMQ>+8P5:=EUU@ZZZ MV9;KZ)W<>\_DJ$U3A-*2B9#I)TYI9MSF?0D3GS.4E_M:Z"WY02IQNG(ZD,HK MK"]RT!+9]P,>7U%UT""T"6@QTEA=:(ZJ"Q:?!3TVZLF;1WI'=0\G=6L,V3DE MRB-K=N1ZMR!EQ(+;IXBNY+TCTT(7UBNV9*4HN>["9HUF_ _$434#1UFIE@%: M?UGSM I/D8G]D.X)7?,#&HS'R_E25QTRN2)3;:PE[.5=;\CMOM#TJX>TQ![* MC)"F=.IRKUZ-6L3J&@#^64LF+4[!^G6+S(AA:R]$TDU;B(8#"/9#',4>,N;0 M/36:BS\,GAEK/?$5#NX[<>ZF3^I;$AM!LN$YX-7914"?M<'-T_7# M;Y*JOZHKVT4XZC$&65O(C+"G:BS>/DE<5?MKG?XO2HOC'YU)OT9MP>]7#Y%; M@'L9NJ_[0.Q\UIXI=WK!V_TEO)SWUI F($-X9 (K>GSZ.*S2GDRBR6=28[F MX&W=/V<6LN"_PC=_52]^W-Q+3]?#W[_??;W[: YH$9+="MAF$@BTDBW;[<[&X9@'IWQ<2/?/R5%G&G20%*"FI=RA2@@) #4Y0@*" /"B@D8*6F#8%-%MR MI]$'_(4=+U@M M@]#97K.C34;E;;F[K?F>$#$5QF546'M?_28K7+9HUYU63^C=IX?+J-CUOJI/ MAORRT95;_2J'_JKAQOF$C23_N]1LVD.:]@43FD_.E!P5TM]7\[E:H>(] N?Z0&CK/_3H)AR2+=<;6]H6"2%376@VHV+)^RH_64(3%*!64V@_ MIP?,J!#OOMK/X<#RGB#AC/5>":29DA35>,S^# %"G$%2C$Q'-H" M0)L0BV)#J$7YDGA4##L%M6CH'>\P>+H#RT(XT.)OAHQ;8S ']#MWTRT_<=N' MK)1$.E5?[C6%3G5ZN(Z*UJ:@4^6)ZU+)/0'G3.$<%?]-01,3BV0L3-!U4=!:6N8!=6K3/],_3'O>Y/[^VS"["J6G61U$5ZT!%ZT6VRK M2VS'+>Z3)8-4Q456&M*-2A385XEQ#_*@RA2YVRED88K 7Z;XBPI)[ZN_I(&_ MYM$]IX7"Q6F +RH4O:_>D@;X>H7D?,+Y$M97[IP9L:0/S-GRT=5:*J*P5-B- M&Q?+:*71'YT"X[MIF&$3YB".1N"[32Z ML_M^:W>$@V8L@2=PQ[9IV)?TP-GWGM0W8E^_.98*5*<9JK6Z= M;?,U-=3-A+NO_$9?.XV>[!Z7X&;>)3%(TB[%2EWN-\JV;5U2ZLL. 4- VDT7G_NE:FOCRIKOQU#']E2S.DFR M*T MJ+T;I$3J3ZXH'3!)^GTY'Q'K;DJ_:]_Y@C3L8-HG&Z(KMSM';_Q>*.BZQKWX:"O9G_8-Q.:+S2_7#42<9;/T[+;: M'0M*D+/236,<3TD[#%38*"LG%M,8S5/22G^!Q8)A,8U)/26MN!=!D@3J#)O5 M,PX9H:RR7J3JB2N+*XLKBU2]+ /3-Z9%X.&E\=*RB#%>28ZE&K9.NVU+ZN0_ M2]N9$Z,JTUXKW%(S;GY4-RKW*M'PM)"WF"EI'$%##J GQ ];PL"8//EH&GA@ M OWN;OJDOMV;%OW <2QMM'34D4Z>S'L5+I.@4V]%914'DKJ1:5I)1KQ)B@I?4H2'HN8 M_M%1[@O=M&VA+Q>='\7IR[VHK+RT]&5T:@H-6&C ):&3.#*)2@U,2P,^D$RJ M*(D%;92(-J+: :6ETPK:$#[>=^)JPXB(6E644M':'OA+&@E($:S%92M)TY&4 MW)L'BF$/@B(H1:21!I4V18CQ)X(BCD<1:21CI4X1E1J& J]'YF3%/H(_4/VF M?WS^=:*]L%>1*M_?UY;^]T_^HNF:0TH>U_&XBA=>V"+F+FLWV?L>3S,BJ6-T M;ZK&2C.>0=ETX((XYD0%J &TGBU5EQ:JY4CF5 )SQ<;F:P95XU7LR#;5#-48 M:_ EVX$WT+]NG\.?I-!-HE5Y%]/KIW5VP0!W4^MS?+F8DC[// OG?O#E MNG;Y<#WX9VUP\W3]\)NDZJ_JRG91CQ:"0=86,B/LJ1J+MT\2-X#^6J?_B[*- M^$=GTJ]16_#[U4/D%N!>AN[K/A [G[5GRIUB\'9_"2_GO34DH*? AG!(A-;T M>73Q6:5,^_J_2\U9G4F.YN!MW3]G%C+FO\(W?U4O?MS<2T_7P]^_WWV]^W)[ M_2A+M]^'YUZY7K[K'@;I_-&C;F0$CXXY_CDS=8"?C:N#'6[4E?XG^)7$'NQ( M:_XW42U;NC8FL.0K,B98A2PU%;#WP62B_U: LTWP1?T82_QP:P 7-9W_9"'7M_,]X W/\)?QK-:Z:SP%YO(LC*'473QE3)G>J[HL2;IG?M- W$ =2L!N( RG8 M#<2!%.P&6PX$U'R0WL8_SAJQMDR:3H^MP9!L=.S1Q6 \7LZ7NDK;L.'NEK+' MA:"H@MU '$C!;B .)*4;[!E2%Y;4$2'RF(G-RQJD'MDYN8-N>H#_2U?'/0H$QYJ,A&P9)U24TS*JKMG?CA/A!'U0R,[(C3K=[IAG*0JW[$0K[O*=^?+*+:2VLE)/R) MLXE@UNG?A6%27="5B7&QT4;59DB)[RRP$Q\OFIM+[+TIL".PL[?.K"ZTG/QS M CQ5 \^U:AF:\2S$ED!/ O1\I0WP!'($,1OV7[8PP@[: P 8O55TUQD12G?4."$K_ M7<97H@Y0VWO^[":E^2JZV4_4VV&IV[L\-96U9M7:GWB2K+73GUY;#B;A,)!J M&MBE8_"FV366&4/#)G=+QW94 QLZ?*.8"'2%HEKY>E\HIJH'?I:H&U17;K6. M/C,R+:@4 [!'V)WW.J85GX8:6=-01&>U8+C2[?:3A(1:@GX*M(K3I)]F8OKQ M:Z(P0>_6X'&+' FH69?[[88@H@*MXC2)J)68B-ST1S=NDR/U*& [M 7Y"/(Y M.OFTD\L@OS7,MI$+Z5)4428P"#(2'@2@G$YBRG%S;RGT5$A!! M9B&NF)FLQ0CEB;?%VR)N' J=YA:$V7'TWY>(D6$ (LFFQS6/+8N+A+N3 M '>CGB.XMZF2F]#^EZHO28K(/KJ2623,G0:PHR;([PWL0V.C.2!;[M6/GK]3 M)."=!KJC!K_OC>[$0-2M\;X G M"?6E9SD*-!?E)D='<]2<[Y31+!CSL5%V&E!.8T!WCI;>T2/&QXF%E7I(!PT7,)!%C: C_S\EANW=.[Q*Q.+A-63((AF*@'=))$!(1,$"12#!-()_:833A!4(:BB M&%212L@X]1C$/E:P '-1;G)T,*<2,=X[!"&8NT+&/UX\/@BO>\/ MY(IIJX-^A;G0"RM)&;$\/Y6@]U'B(:G2QCL-&WO'IPPA+G(3%ZD$R_,-B0A! M(6@B4YI()VY^[!B)(!-!)H>3R?:Q)#4^D42<3LS;*42,,XQFB#8GB"( M3,W(UF[!XE+@NV2FH*BFV PQ:%25K$CXX-#A=$!P2]% 6JA5A$ MX>DEE4ASDM#!3H3RSEP8N=GI"Y*IV"**03)"[Q]6XXZ %2IOP&A2)5*HK<>(*9-K=C @G M,W7-K^=J]XX^1F2'W<^V/X(@GB,*G=YVVLG'<.EVY%[_Z,.N$V%0Q(K%V^)M M$2O.-%9,%?7:",MR@5/[=;D5"1 7QWJ+EY-1V8>*GU>E''F 57KM&UM'#V05 M"7Y.5-)@5N 6TT2/#;?3P'14'YF],7UH6#3[2:0-N=4H0-N,X@#O-- = MU1-F;W0GCE<*7BW0G"::HR:([,^K4PP?"H +@*<)\*C.*'L#//5Y3P+- LU) MT!S5N"1E- O&?&R4G0:4HWJ*;$)96'IB$-/N'GMW=B(.7V(3ETPVGDNX['.E M[:CQ&P5RV>\S;3.^]*2(3$% .TMH1TW1R-%A+V9O"D(H!B&D$I8]RHBE[.=V M*IV&((@3(XAN*J'/*MYYSB@IQ+,/<"QOQ7I;[;VFZ'I_SASK"6!9]@5TT?G;85@L(581.&Y M?"H!WR0>_!1&Q+;E7J]3=DY?)+068A'%(!FA?@N4"925^( +L8ABH"Q&_*<2 MK-S;/W_:MEV1 %J(112=2OJ[E<0*?3?C,1JKAIC(JF.=$7&5!&1F@H\6AT'FXXN*AKGJNQ P[X2,5LJK^*:@R8;8E,M MN=T\^B2,@DQ&*\8J3G(^6[^1-0UE-]JM*^A'T,^QZ:>9F'X.G?UQ. $U6[+2 M%C/=!1$=FXA:B8DH\8B1%":+=NIRKW[T NB" +<8JSA-\FDGET$ISC39B:)* MX[8_:3(Z&0]")S'E)!F6GTN]F1#B9J6M^656[ M5P:=+=LV!8)XCBAT>MMI)Q_#I=^26ZW"A8IWPJ"(%8NWQ=LB5IQIK)@JZK41 M5L<"I_;+8RL2("Z.]18O)Z.R#QM^7E7CR/.5TNNBV"Y +71Q<'<*X&[5HY(& MLP+W\68*'CVX5"3,G0:PHWJZ[ WL0V.CV2.[*3>.'_LI$O!. ]U1_5GV1G?B MH*683BS0G"::HZ9Y[,^K4XPA"H +@*<)\*@N)7L#/$FH+SW+4:"Y*#GW.,@)#;]R&2CLH3? M/E?:CAJ%42"_?6"&FHN826F''Q4'=J>![:B1%CFZ[<4@3$$(Q2"$5(*S1YEW ME/$034S1[1\]1[=(6#T)@E!2">CF.^Q(R 1! FF20#JAWV//-A)4(:AB;ZHH M6*O&(AU A4XYAO>E$DK-<921X'("_VGB?[=(:Z'17$:;3J3N;TXMLA$BDDT< M1Z>L%N,!EC?9BH<&$(U+<_-&>&!75P M 7@CQ:!AX<:;"61G*?UV"V<7,"P@)EH*RLB6YZ<2#3Y*H""_:9B*W.D6(,5$ M"(S1\HP5"5 B:R)0FT@DI'SM\(,A$D$F69-)()="YQA!$8Q>$$2FIG-CMV+C4N"[=.:O**X(!U:H,DV[(7G:M*2;M@BA MB&02<4*(LWR39U;5+X46B;*RV::I/2WA;B@ NQB&*@+$8"I=(^.;EC M&[B3+ZU*IS%5":F%6$3AR26=_LS)W>2"7HH"U4(LHO#TDDK<-(G3?2="B+U F4%;B R[$(HJ!LACQGTI<BY=GR*O"S1.*Z*[=[C:))ZZ10 M*09@C[ [?RL[#;7J6=/0MCE36.E.+)M=.AD)=03]%&@5ITD_2F+Z.70D]X$$ MA"U8.W*]>_0$L(+ MQBK.$TB:B0FHL23OP\7/[!&N=T7,DB03Q[D$Y>'W&HF M%T(ISAH_6" 5*B]YAS/)ME"H("1U*MZ$5BLQ$27N_760$P$5N#)028E *J1/ M$NG3SHAP,E/=?#G3[AU]Y*R0,U4GGCC:Z6RGG7R,F&97;K?:)2""^! 7O!Z9 MDQ7["/[ $CGZQ^=?)]H+>Q49:OK[VIK__LE?+5UL*+C$8TL\M!0.Z2QB[K)V MD[WO\30CDCK&9F&JL0)M03),!RZ(8UE4 !0 Z-E2=6FA6G0X"VCR-D%@T= [ M*O?25#-48ZS!EVR7)=OG\8M.?6O@)*2QKMJ O?LOE_\\6P=5O?Y+%#;X.Y3> MZ%L\#!F^WO;I^^$U2]5=U9;OHQM"D0=96,B/LL1J+MT\2C[S^ MM4[_%Q64Y1^=2;]&[<'O5P^1>X";&;JO^T3L@-:>*7>2P=O]);R<]]:0@* " M&\(Q$5K3Y]'%9Y7RYJ%JS_ZEZ^/OWNZ]W7VZO'V7I]OOPW(LFY[O^89#@/Z&.O;\980'O?,*?1C.L M>%X2*QCIMFG&A!B4L;UY"1:? ])LE_2- [*=D.G ,X,^C!.7MS-01B&CBW\3 MU;*E:UCT))1&P7 UVM <#L]-2>7A&K'"86O6&B;!U&4)__GH;8&?,++YN.Y= M=KWBP8^SVXVDF!.%QU&J]3CU[!ZG#'E5KJ1OMW_)-JDO$:T53H/=>@TCAR5[26*!NI8N^R+2EON]8Z>4".P M>%0LMJ.:ZM5]+-9SPF)3;G8*R1?+8($>2^\)#.>1'%.R""!IK.E$,GR%"-[' MO\9HK"XL\T6;D G;Y=%*F*SBRN+*XLK"9,V1=2L]>MLKL@!^K5'+5%*-B:3. ML>WM_^@;%;%4=[W)T96P-";E!0\47NN$]C V)H/ N2;3S11A)YPD*J/:-^YK MIF:#RM;914]N'3]KO5!X.0U01O5(W-=>S8Q5]N1&IP"30(45NY-#HH[HS'N&0[Z;W_(3O\7ROW:--1/H=66D5P(%U.M.4"@#)J"%Y^RI(&4)2 M:0D\5@V/<7",ZA^YKVJ4'1S],J!6NP",4KB+]M*1$!>NLA9E(-QKF MHXZ6MF:04QNF7@ !E$92PSK%7_+#3!I3[K25XU.W$#OYB9TTLAGV!>&6?L2^ MC#EZ8^)"8>0D@-A)(Y7A-( HW$$QJ@YM%E$;J3;!DHGY@ABV"(H=@9R5%)0; M>I:7>)3#P$DF4FV:2-^N@&&F,(R*S>ZKWJ0(PX;<:@@8GAX,HX*Q^RHW M*<)0D7OUHS=S$5ZL M")4G7R+?;0!@/)&[%@N0^$@SZ#$.O>,=!D]W8%D(!YJ_RY!Q:PSF0 K.W73+ M3[YJZDC3-6>E).(:?;G7+"37$+C.%-=1L=M]=:@CX[JP$[ *A;33@'-4W'=? M74S 6;BK4DKDGA++(A.OX$9](R(2EW,DKK/;[,;WTA+92;):NB<\QX$Q@?\. MX4W-21"1"S9Y;LG=(B3,BLAC2"A03VS9Q;)JOK7--6!06BRN+*XLK%ZFP MN&+V:*-+;_M QD1[P0:NMHRM'X0IFJ_2WTTC;P+T*AP60:X(^^^M,1B/T>5D M^\>;3,?JR+V.4/A/"Y%II%!DALBNW&T+0%8.D'%X3".7(AL\!AUV#;G1*(## M3ABD>ZD_M\8+,1S3TH03/G:=LU.=V"PZ=0#&D9)U@VEWR@8>0N 9@O0-%(-<@1HNUV /&0! MT!P!FD;:08X ;;0KJB!5U>TCDB^/Y,[M1=7]I^'V\5*+#HLP^![=?KMY?)HN M$'). YY1\=@T7$&IP[/7%_ \/7A&!6?3\ ^E#L]&OP!.=)$,M)=:1+5@GH\I MU*)\+9Y>5)C[<+V('NF=FVM[@(73E-NM E"T,,)SA&14A/9P72@U2'9ZHG?A M:0$R*DY[N/:3&B"[!=#(A1-H5VW'S0"3%NH*]5VA\>1KRD2%NM/+?+YGAYJP M\8G2+(!H*1!83@.146';]#*?#T&D4B] A+9 4*D.'F/UG:@P;7JISP< TO?S M%$\)%RZ>>*7'6A*1&G0L$1,5UTY%Z<%3_>J73R>4,G*K58! =H$ F<+KLZL"Y#5@L\@+ M,9;"ZY.SJ$EC>/8F46-G1;S;'YHS&RYM@#6QO+:*B:6.Z-Q^>OA,8XQV'OAL MR(TBM&(K$'2J@\]8K2B-D=HY #3H(:JH@E1-#Q%+ @IT8JN(A@2G:4V(56.' M"F\NWB3;U+6)--+A?(O$ =Y?:BR'2&/V]GM1\M3,IR;(L:/K6>]O> 72/$Z' M -*8])T; 2ARJWGTO!%! &4C@#C\IS%:/&/\HWW=*P'L13^EW93'9H?>]CMQ MI+%JSZ2%9;YH.'-\M JV^H53?CD-I1(/N2Y+^,_'XW&6W9:WMY,DC4GF )4A M(.6> ^5R],4$TVG(]]]AMF@21O1MS"RC%V\(DV&H2P)V0:J6I;K[: MTM0RYY)FO!![S0 0\SW$E<65Q94/O[*(YD4Y9/HLW7LRT5"KL27'1)\,J$[. M2I86.OR>3EPB_UUJ"QQ66A&'3(%\N+%!BG8]C42H>W5%!\T^F8,Q'*1%[OD1 MW^,!#XS)M7N\29K;7RA-N=LK0%/["L0>RH/+-!*@LL0EMH.4FT7H+B-@F2,L MTTA[RAB6+;G9.7HJ@\@%WUTY0A#83#^BP\\D<\JB5RJ#QT0H13E3>1JI2QM4 M?KFT-8/8-K&_$^=NBMX)_LDDF>.P+G>*T!M2R)\F; MJ6->SXTV(I;0C_*E]33R;MQ3O8%#?80SM>^F+K4/IE--UU0'.^+#UR9+C-:0 M0]KB]^5ZO0#5'P7"T&D -8U\F)2!ND4^%5,L"7AF"4\EC>R44X:G\"KMJS6= M0NSM-%/=E*@V)8[G1GJ%0@ MTGNJ9!&5T9!2B5[J9-&2&YVC]YE/1A39^TJ+4017^+>%E1!?I3?5#-48BRH] M<65Q97'E@E;IG4#(4)V\ !^&&X&^9I$74W]!GJQK!@TDCBTRT:H2,2Q-PD#: MB5=?,4_@;CJDA[F_:MP!C;@EU^L%J,TK$$I. XIIIU8="$4<#=V2>\VCNRP* MA9*3@&(C[32J Z'8QLK0=C&9HC ^8]0?7GT@%)[BU#LUTLAJ>B +?K1WTP-I MNWMVT:D70^.I@,N[4#",0V$:J41[H["%)DB,51=D2_@41N M'F=&),VVE^CK03U'-XWGFD.L.9SR2.@[.0N:-))F@J;,+3]9H',XUR. 5(,\;:0M4E MRU6$A>9S=,,FJH'(09Z>@\0,AK:*(66$GR<_ 1,57SW(SY-I"7I[) W*;H',.C(RW4R40SGF.B2S24!#^#;^%?\-+6)G20B&D4 OK5H:\X M;:,9%3-.V.'QQK2&WHD.@P?J3:Z^<7-:#RQ8:LFP^N-3H5!)G-V\.(M X@ZK'B&2CL.")7,$^T,Q4Y5B M\D)Q@E@-*RI0O:^&Q0BCNV8XY^2N1#*SA',GJC M]$&]%_$P[]A97O-#3C"*H75VT>P7((15(*B3 MPV-47/6@WH.IX;'5S;L!IW#\'*H'^9$TVU&=I6-:*^E5B*X"!I[, M)_7M#Q\U-Z;U.%,M<@G&U61HSA?$L*GG,&%GP<[Q!V"]O^D5< &<#!&THD+6 M24>_Y4($_<;1G:V"!"I% E'!\*1#YG(A@6ZK;%) >.!V:6+M-ZX.MK..:EU7 M>5VSTMU)6U$)#2EUL4XI*6A8QQBN)O(UGJO%,) ML')H81]56'/='7^#,OQ> $-A!V2NH;EE$\+@% M.]K70%Y;<1PWBDHVV5=I9>"ZFUYS)#T D.X,9%#X_VL?/P^>IYV.9SI M>)+J2","WS0PC<"<2BNB6A71^XINGF83+6VO)2UI^4C57)RMRA%$J0BRGB@= M-2+H*'O)G0<=-5IRHYEWXHZ@HQ.EH^8F'2G]2M!14^[FWAXM33(2;M$]M&0" M[U=,/WZ7!30!71-S.=+).HOZV[&YT[:E[6A%B/GM':Q[LJ26WVGE;Y[N> M4I7%O" K(*NVL$(%70FZ2IVN.L(J+2Q=!?5I>#TR)ROV$?RAPC7I'Y]_G6@O M[%6D7OOWM:7__9._:+KFD";+%5FNQX87MHBYR]I-]K['TXQ(ZGALSA>JL4+7 ML6%BXJ]JP=L 6 #HLT5;95HT8=B9$9O0[N-HJV =I%N\!E_"K@J$UDB>QR\Z M]:V!DY#&NFH# N^_7/[S;!U;]?HO4;3-WZ'D2M_B-D_X>M]_?/,N&*3R,3PI ML3Y)H9M$VRLNIM=/Z^R" >ZFIB@<8"ZHI,\SSXZ['WRYKET^7 _^61O5%?^U\Q"5OY7 M^-ZOZL6/FWOIZ7KX^_>[KW=?;J\?9>GV^Q#H!2X1N^K4S60I LOT4>BJ)<>4 MAD$RO_'(_-$C\R.L>K0#<3?=^7+=4H+"0?X13T:;: M&!8T .Z\I/VL[^$PQAJQG^!BE[HY_GG&-(I&L]%H=+IG$@%IO4 *M9;$9654 M8$7R0WK^FC$A!F5^;Y] (R&Z;B]4K!KZQUF=_)L< MN_R!(#TA\]D'KS9;R#99G U_!@L M:S+'K J.9:H(;*Y:73IFSJM^7,[AK17*W0 >)!\0DHN(M<53]<557((Z2TY\ M-Q/&^Y^E[6C35>"^7I4]1Q1EK60\,T"B/6NX]Z#NGDL?8'&-NC+^A*TOATS3 M86]-/GV4-%!V0('%-!]9(@9FY2 6=,WXB:F?^&CA&TOV( E]1);!%X3U4)"@1.#S9V9"[P?G.W4D9Y-P D_SDU :6BTH>%2@"7C!J!5 MA;W=O)5IU#@&K..0"&2\8(:CU4NO^@SP"*Q;#BR2FDF6!@B$N\[A$V>F$Q"% M;D$'O*-98"?I#C.KX>^1Q?!IJ)J.GQ"^=EB+@SB%C\:JS5&NP1-;1\49-Y2 M+X0M)]?=!^<=E79!.>5M\S=WQUUV5I[_HR7*'H\3[.)1SN.5D:G*E9Q%[J[/NFYT'# MO[;H)92TX?NO,Q-D5LU\-;#IY')D PN%9\7O#28O*.6_<='W59MKL$SYG9^N MI&]+0U]*7Q%ZP*KY59Z("<+44;W+#DUX2ND!+LVNK$[4C5LR#6H,MV%L"9BZ MJTZ%O^EI5+)TI3&>3#ER6 4+?!3XP3=SJ4^HC3D"!<#;JI7[:U13\% P9OM) M0N'MK*17U4;-B^H*,>J]]']+6#.R [@15?5Q.A#ZB0K7%/I312=9QIP"@/Y*IA,S>S+Q MM86<]8,%SGIG+)7/8'U'76"L!NT&*J4T9^:J"H4[2+O"VAEOVJZONUS$ J MV)-X4;9:]L6)9H]U$PQ]LC8C-_J1, 4LS(!WT '])47M'74H+/G&DS?L_ E_ M3);H1@K\B!X_K>/^% MV/U&5$0G HF9FW%&)[:J+:C8&$<9G?B4$GU,*?"<0H($)(BK(DX(L!9838"K MJ3;E#R 4QH2QZ5?*"4;(,\8$[*T)8P MGUM1!RH(+ S7@( )*,AP;><5M6/F&Z,N8 TG@O'T6.9)]DZ2\LESZ8\9_&)" M0 -')RMG:X$'09&P382\SC2PMM"UR\47735[1%S@!&_K7TL.6=ONH'-OH_CL M3G3W@ODJJ=0(!5EH+FWWD>#9V3V#%V(;ZVZ$Q\_93VHC[-HL69K],_3P[*G" M@C1JW]C%T=>M&?0TW2WR#LL[&1D, ]P.F]FH>!>\K>P?HSN" F_)HQ"P9QK[ MGA $Y14$=U,OB'YKP!DOJ6[!I$%8"#0**P0F[P@!4(?\3(' 4PJ)\%YM@NRK MTHSWH_H<>'.AKKQW+ SC>9JF'TT,Z;D681HLY:]CU;)H?I>KMS*C8+&PS#>J M8@:Y^8B,U:7MJ$H'-%J'!PE-RNN\XV7.D+6;K'E.?:^/;AK/-90E M(%)&H55$24?J^ &>2'M28DM*JKYO_##R3JRQ)8J$,6/I@,J1:5GF*RX3+UAM MA@KW)&_47\US&\-I73=/T6E=$:EM7CE0\ JS:0VV,E I%/X,TT>D]Q/HDN7, MT;0Y]\9Q'F"E0=V^WAK]%+OP'Z'7QTV^2YY]E_"0GNZ&7S7C9V!O PE\.VX: M17@(;4'XN92P\9V"2+:4@XPL#WN]FT>-/+*E+20@Y6[*ZA[%Q[,X8ET[DA& M7&'(PSPQ81TQ$*3(0 ".B*X1S,UQ,%L)=&739HX'7%LPKDBSCR:XG("9[78^ MK[9V6! !DZ[H?;+4"0'9>X<6$<^5M1\\BRK*W&X55O1.(T0O%\#NHTG^LPG1 M&\'NMO(AGM029$%!;N,;X><2G:UA4\[$_)C<<4G=GF%>"1\O3 =S5.@-EX9W M&[S05<"%"C#]+Z8+H,./6"_$#E_.OW]4V,\W. M'W]BX3CO02-M9?^&;D"*>0%4%JMBKLQ78+.D9DZGKFJ!QK?%GI7%KVA,.<^(G47.^($NZ.C(M%LCPJPAHE\(78LV(.F$)"Q9QZQ-X%$HW7]UJ"YO&4*(R M"\YI%B--2.>LE6 @QN5\,7QFJEDVTQ7A:>0=OVDN'3_3[>;VYLXO))D39V9. MA+FQL_S=D$H:S9[A/(,*0T^24M/#IF:M.;)-$%%C N(D+%!WRC[)29CZ]TM+ ME&[U;0<2?X1L/179"AHI$):SNL<2)+!VT &W\%-,(F5MMUW!L2<<6UA*R;5G2 MIBRZ2"PA..EHOJW[N7C_D%6T(#%+T_XMK\UD,:#DW&RZ<+:S,F\S?M"]^(I; M\81B/;H OA=9 +]> K_KH;];E,3#;IV-UB+L<,.]15CU^'OU]1%%]6DM-U2( M'U6I[SY/>Y]&/._?M3CE8+"8K\AY9K1F:(ZUJFX7BXBJ_[@M:O4KL$5N\#V\ M0X^,&2/#B6#M4_)Y9&&,VL0L-8PCH)3P^?E&"P(?QSLUYD]Q4P7:+RZ7&BL4 M8Y5@ <1+'["2SOXHD._O5FQ84ZHUZP%#:1^$AYOJ"H2GB?!OZG@&6BD8V2%E MB.DG N.;&-];4?MSJW)VN7I:+ M9T1@Z!?D'<[@$_9<#I6$JU9X^7<=E@2 -P< MNS#QFC3)^&3=LB:3#,NZFZ*:C)1S8I1D#0*P6V*W^I7W00GY4 MKY\'W5\,(TUH#V?-[V<1+KM8?[2UHCL-<__T\9(Y949@O<-Q!P=Q9?3?9*>R #]7"^I) !352.T[N(+'YI]O25BG*O.+#<.T\ MP)[W^ IN&'Q%7]F:J+LN7V3L"V\C *+EUNL8,*"1"/>CS1S ;KNXZ??:]AQ M]X%$*(S+,7=#D+LYP(8WQ91J&$O6= /8*?WJB&SYJELIS7Y"OV1CQ I8!>5A MDCD>+RW&R4+LBX]D#Q1TOR_P=A)R(Y>KD\FY=.NO%)?F=L%\#FS!Q#0(!OW4 M0 L*G"T@Z? ^KGT$'J7R?>8A<#5& NG/\<4:_.5/LP(XX4H.'AO)/<+2RP\ M-&@%@CD?T=P<*DRMM?MBV0/O?6(#,7N7H5G]M@8(0_8/S,"<(U.8J3A4 !;% MFXC5/X'E8T?*<[_)RKZ2/=RX ]?I2T+,,N'!S6BY'^YEG.JXYE7G!_0 MG0)*$_^YWWMM>.-?V[^H9L JB']1D/5>BEA$=YG-,V(92$L+*P>82L2I+ X9 MZSI28%/#W(4A /;%?1Y8-XWUJFX1[HJ#E_4@D^:@'6+C(-JJZ?+VZ6H0:BA& MMQPH@IUD\-#@P5T28L?#&D*@+L7.B;9;P]7 3OK[M;$>VB*!E]\N,+$78.<] MI4H->[9/ 3+8T'@Y]_-A1_OP<.TST)V57=,% *W4C*PQK\'*+4/!"ZJ'2W=3 MJ-V-K0O-NWHW6+X;R[*:H?K=<"WJ]LK4H]?P'ES$N_]I;9;QKM7Q[KIYX3K= M]^IX"ZT2A@0M53J?8Q]]@A7:T)S:L6">X#KI4;HU* ]9>=FF%A/^[0G]3V,?W M3/56S:QHWCC5DP"NWX!FQ_H25QV9V-+:I)EF7(S(NXG:0$$>M@VG.A57+C8E M:I0ZM:$=X9BBP#+EH-G/6LS#QO)-5$%JTAPA/Y66W^8G684Z *% 6MKX<_JP M<-\M^;\\T]=O(NJV>@/=YE>>$+=^<4^GTHS(Y.30M@>;Q5%Q15U)[L.RJD?0 M7&S:+X\+12Z. Y!'5?HY5N0:JV$7Z1*?I'UOZ/\(\6MD?S/=O^( M_V 2>S+A*/%*=M:::?).I:Q+G0:"!].]6%JIEQ5LXE2.<$(PR 0->[SAC[Q1_O$HJ(\\:$=D/QA$1Y;OW]80$=$'X24/:Z4?6"]@&^ MU^$@ ?13_@$4-N0C;F*KK,^04&U%Q#4P,]B,BPL)1>PZ+'<*S7O6C KVV1*?8< M7B ?& M=K1C##S3!N)4YK"E6238$AU;G3\.XYALI]YA?)QU>'6KC7<8\ >DA@\W7;E< M?A;81GFU=/TL'B;M1F]_(/7IF\=*SWXH-[(2%$2(J M^]S:5XF:]1=T7BH%_IA:]*:INP,]YE[N<""H M@9?WB))UY<>]D'W$HFMBX0T#(!;2K7?=5VSHZQ'QSJV*O,Z__!1\(#*G 6V$ M9'B/-2)L=SUJCZC&HVXDI%E&)MBLF$7WV'YBZ,M](IYG0M#G#_=;\/%C^$R[ M[7!@:*+'$()=G_W]=0]S@M%!DZ46^;_@[3[=-]AO&2!Y>:+-VIR^:JB>^>7^ MH<@$CEUQ&(!Y$@L.S]D=+R,,U2! :)U0:+(,9YS,18>W@KUB _ 80U0MXOOM M:(GEBZKIU+&T=K+47X5O $?4#)55B5OL(-Q8:CCRQL!HX;_;_Q;9QRZ$#,O=)@&0T8&( MP":]6*:YU*> ,^:",VW>.HTU"' ?8+UA.O]-M+N1B^90.W@:F475P:WVY0V# MO1@\%\UV@)<(BZ-T%L?C#,[V$ED@H@(.F"+NC@HIZNO#$ 'P \RWC?3L=0IK M=NC;/7OTJ6OTL:7@T@[T[?84?.;H(2"\S!4A :EL MTXUF(G9,-]K-N6$;SAH*:+8[-\%KW_.,PP9I+$T.2^A UNEF7$A]52UWP&&0 M,2'7Q+PKQL("*@]?<;"-&3REC:XL_A"\ XWTP<\%HBD(/-K'/^7WYUM$%__Q M7+HQK2FAB>]VF(4R967%4L $URP/U\2. X]<>0#V^#M7';"+5%Q_YFZ[6U@V M.?^XQAH#JI'[?+1-E@A_>%,83)L-?,8>2A.O-0FF2D4KEA9Q?0U\F*1-?2]4 MJP4EFJO7+)PZ"0^U7C KD1K?IAN:IO=?ORJF%;(K5IJAB*$$9Q=*2PPE$$,) M\N['B1FQ3^I;C)SK=8L[M]2([L=)TWR?T+$@Q-MF^"'8DI#N%'/!T,#^V*M, M ]T_D,?EE9OY\^1X=TOIQP[?DJD3B@I6N-G6.9Q6*&0Q-==]F#Q;"2^!(0PZ M2YGZ!1W'TD9+Q_52N;T2\3.W9&.CSSP;Y+DY!@D]GV\:LP2V+91EHVM6R#T* MJZ*Y#VSZDI?F18L.Z"]PV:RA/+VI:S7!8:-!<]@D"GVH><9 M8YZW#-4#'HY9#TYKQBY[SKQKA$V"-7?Z"0M%\;NBJQN^:=$,N;!YIADNOGB< M@YM5--S$=1Q>)&&H8\6C>*#GT:+(DZ M3^YYYN%"=AR8^&AAJL=/0HUA-38;U(]3\ )2E68I;KIJW4!CB'8IE;JU&$@J MQK/)!B&S!'U\;TI4GJ<(Z\8"9*HL8Z*10YY94V'Z.+;7E3!^6\[!!F+C'H-3 M2 +%'[@);FG6CGDF+K?ACT^C5W0(I^6XL:JH[>?4P/9#IN7"$\2(FP!"RUPB M?N=5*P5,BD@"H^Y]]]G8/KRJV-QV(F@K+A1/G?[(Q#FWI5P6CF=I>%$]!".O MKV;1$6W*$VN3D8\;>0]=V"U!M.'A5!K.,M'-I7JGR6MCX$=41BU!PEI\LFK( MK>:0\V$FRAWT-WH^P-#* M=$2P[7A;33<"&88J/0,Y.52AB-_$=OT77GF(FZ[-3.:Q<8!PN5UM@[T@!D#*<1-68^J5P+X[ MF[O7+>YL;C/*-.)/R'2Z!P[J6X.EC8I82;2(X!UT>96C-_8%,Y/\8,JC UN* M6CS\;$*#XY15?Q@\#C_&E@WUZGP^&AP:/QZ_"!O/PTV<(#@;2]?L&?)>?B_7 M1'I55VZAK5=X3;U6"TNS:78 7A!NZYWTFI%BN\#0O.+V2%[_P29$^FXZL=%O MI<]R?P0++ \+I$$0!_@;)KD0R[ZF4:\GBXKO%?TDEA$6MX_\(HH1N@\FT2>K M"-M[A\.M,\1WV)XW=HHR&7>_;-RO@&>(ACU<)T]F4U8DG+)";X4UXX$2.1X7 M]KP)X652A1)#U*9!6&:L'8"XZP?C$=ZP;KC;A,I.J[?+A,I.J[_3U]I*Q"!+ M=YXE\/"E!;:?S:9:TBB\S8;AS.>HY=)'7G,#V4F*%.1WRRW\8M?WYW_6Q4"1 MDLD"KW#!!@2-<6KQE9^>>CV(X\(05D0:'*\%W M6)%@ >L-E/6%4B<-VNR(1:X#)K(5W-A@9B_/95RYN8U^S#N81>/&X,^E 9:, MOU'GO[Z2_L8A?6/Q_-! \1M6RNP$<:P-I]_X\7BU%^#/)( V'E0G5&;WF[&< M3TQG0L:P3/U,XB]L8/'MLXO^N=>=TUWUA01'K%/1%?M G8@'4OP'4H[S0+WS M=LP#X7G'/E0WXJ'J_D/5C_50C:T/);V2(#RY4ZPHHI6;CGX42A=U^.43M#>F M!6LTAG1Z&UA8@41Z #G]D_=XB#7!BEN/;T6)7_[4DOO84N!!WQ'!ZRO9 4\! M:>@*PP#$@L*/K[N,)IO#=Y"74FV/WVK,K*/[C^4QVD13+8T5Z1#FNI=^G#^> M2Q-3QRYAVHYE2S2N95#HXO1T?K*RFP#, E0U@IV$W3)"6B5'P^/^X@/!0,@T3 M@YP4$CL$/6*JTHNY>0^L*5; 71]^Y@)8?.\+UP/WAXNU)\K?WV4PC+\8Y!5C MW+9-9S#[N[<([5YL 3GMUZIZ@VP#J49;$K(JSF9$IC,;0R,RG8N?Z5Q,9I[V MU&3-M.ZIH@A2 L_ "]X./(WL"L2=I=& 0U@2QA1*%G/S'@@/7Q]?Y*5MQ*U+ MNB%/VK+<1V:R:(3)P)@+Y^;:[>._X3T[<1(\\P<-@T;"I:K3%,S'&2$.:]E) M ^Y^K3\;ST[SP?2!W^XC,X V+LJ2B9F]0\OZQQ8=V\D:LX2O!0N(\^MUHOQZ4:W/B"?F M:0,T%XUWTYW(T&V4%N<=O.6/ 2='_WMK#-C#?/6W+HF3D/8CA5=G%ZUS9;NW MD!;6XR^]O=P\N/YFCPL,4&U^I\?66PX7Z-V(]$\L>C%G=-W>D7OG# MD6QX/=9-S$RUHT>']R-'A_/!X4S/C)K7O3'/F^]F2!==\^*]?8H:\QTUO"\T M))%?DA_J-K5MX^C6QNZM*Q_OFS*CBQV:87W^=10S$2ZT4 0>/I@&9]R+_9W%]_H_/^6 MP,P;G5"X;K&T[*7*RC-4EGDC^:?+MY\D>:!&^$J>X24P50W;@U7U5JV.;#5R?!>*1J@H?637-SB'X M7B.LMVB<5W=KCH O7ZX8PU;U+V":+^Q; MFN0%?!6_8Z(C"N3MW8)W,;191UV*:+J7ESP/%C8.[L!SG1]@LZ[I7MT:N%.[ M*$&A5<0O8ACLJY@H%-U4(@+LC&Q<%?.#YJX!L/AJ6G1>"4@JS0$@!$J)L$QO M]\-KEO7P_O36]3@F!O %DU[,^V,OA3?7LZ['&1+4I^K:$:QLS3'QA$.].S_Z MP:V1:?Y<:YS#PG^4U= LACW@T"HK'%([7]8=WC=U$AVQTCYOQ1N+SEH]$HU MJO1$G]%[@8F=O%?E'L>W6S94F4_R"VS.5].V[XQ'V)Z[J7OAI,?4C4EK8O47 M6$.Y'B-.V@;\G.D5L6?8J1@)8H5!4O[Z.]$GM\:U/4:_>9(3;IQWMM.A6Q;I M:G2L :[F]L:<$3JN$>U!"Z<;8MGMA,P-4#.IFJ4BH=J.U_MUK*O:'$P5+/PG MO%/N1LG]HS=$3+IW[SOP-$G<#M;^F?8,PG:@%@EZ##%30[6P)9GFW@*;WALJ M[3GD_8BE[@<:EGJY#ZL%.9<\I9+.IV%E/UY#:LQNV)WC1'D -],52PG<_64' M[X.>#*E*1,YH6 -TJ[X28JF/:_H.V\'TE-!9[P&%RMK[V"1/ ME1[@-?Q0FX/).8%7'QSSF= P!_OZ1UD*>TQHD5V4G-OB,6&>!U"0G^&]9]I& M/RR;X3EV**?J]2G:&W5U_$GIG]?=2BJ7CZ*L1F>_BI$TM^=_C$4-%AD*)?ST M0X0QAM>C29-7-&G2YAU6>*?JG45IOQZMO%/4'@S@",%VKZ[HMC^9')ONE8D- MLBZA2@U29GM2/3=;UPX5-0Y[.?H/Y@?ACGG*0/ ,6!L)VM:!/6@@9U'#[VZ< MGW=HY](@.$L@J2/7;1@WY:'VG(6!N,)N'&6JQE>K])J^AX)P.=FE& MU,E_EZKET+Y%<($O-+](EFZ151D3/OO!]%1._([/&5D+$?BY 0P1'FTYQOT M=,MF.VEDPOS"KA8_,(*)10-&VD_(8=;2"JZ'K6[SYJ99:]Q<7M5:_ ANRV8-_M=L?PPD4!V1H\@?N*;_$)#&D7!^&2DU( MV(2DE.U->0%41F9>)%^;+P9.]XHL)20Q#-MMBL!T89@;]+S_LSSB(1K-5"OR MC:NX9!_EEWVXP*XGF\K%P\R,W>YOV^[42?E6H91NRF&I4W";9Z#;4K9Z!KK! ME_E[!IJ[>@::9Q>-IMRI]S9\ [D=;XI4G8EP.195WX42E5CW+GYT&F[D M3,/NA8;F?,0;R(9"JT^^VD 1H"0BZF9_,VVIC!1=/3E-@WL,-24E:6[&>,TJ ME,6;1(MNZ)'590G_^9@_Y>^VK$@&\2&.0S1SYA ($]>>Q2GE@0ONSPM:(.#E M7FLS3)43-]@9+!^%!L 3XY\V0UGOI>\7F5M$" AXR+^Q1SJF4C"*U0M:Q=4+ MDJD$#456.INI+''G4#+-8 W&R?\\=29T'P[#^L$8X<@2CJP,%>2!V^+8(F.B MO:#CNT)2K[A^K"VIS9D+N,UX#A[Y#A$=UJ/.8=]\\,"2T $F-_K]2EC+Y18\ M:\S@UGB!(S8MX?G*B.J[9:-Z#Q$)S>"6#>WVXJ%)>L(BL^&XK?G M7Q>4XD-RGB(EH>D;9?>6C_ K)=_O+4RQQ)H4G"?IL%Q*'/W!F_X+%I %"^B7 MC06X,+E'D, WKEV$).($;;E;WZP +B,OJ)02,*2Y\J@'P _Q5&SI_ZGSQ2?> MB,TT[)FV$&I!-CRA74^')_QYHP%/(%^U%U35'=5XUCP2OUQ]4_]C6C1WGO[> M/?&A>^!N,:A[V/D;%^Z*DWH1^HUJQ-PKI65@G9^ND[&#M=0++DL$(\F&D2A' M8"3! W9UA?+Q#J6QV?"BC+RC4EK)=].HX3@)X@2ZB@G>D0WOV-*M+%/>@=V$ MV/EZ19_ETSO:(G91.,[QE78;IK#'RI"E381G,U/NL:5=7DIN#6R5E";-4W@\ MX&.94\ &^T4RZN]5@_HKI3>PD(8@^"P)?DM#Q.+Z,=P93^..;1SH-YN)!(E*S0E97<ZWW#_UW.D?LX2&*=R,2#_SQ[X+V,Z+];+,9LZ=]!I(G]2TA MR9>=XBLE\:\(*\\6-)\ES7=2RE8\&LV[,'E"E"0+ +2.&/03HGY+M#_04[BD MM%_!*$ L)TDI73%'SP'KH4_Q=N>-;"E;XD#.+8'*K6.P1C7?B;/>Q[Q2+8'6 M(=$$2$S,)091UC"1>^N@'5>6H,50)Z64QTSXCQN3B.1# ,=RM"#:]?!VBFM$ MSI^.F-E>[>$- 4 ">FV'#E PQQJ=&40'<=#9J/ZXDWUGG?:W]]O+9MY.!(4$ MKLDGU.$\D63:>C="TGHS(V1,#V7S+&/W9$LWLO4!HJ79DXBD96]/Z."A\0P0 MR$8U<0_ZH3,^^=0RO$'L5D?-:HV8G%B*K6Z=730WTT@RWFEWGN'3C,"U&(^@ M/" \!4B#=+ROA)Q^7@TK"M/IOW8A.+#M4)#2^T'76^D"9+!RX& MPLEX9L-T<&:Z1:98#\2&N>!S3-6Q-PV&#SVTW8F7)S1RAXT_PXUP9XK2BGO5 M,NCV^;/H+$\_D ":L'=1DW;<,;P:'22)\S[<*;SL@8&&)@BF">UDB>H]E1#> MQN/]^&$<.#_3I>S])J3V.\=GJ?>6>8.'>6LPKGFPPA/,[T70X9-5OV^#MWS8%\9]$YU)EL()UCA)EP MY?(C*"IF*HCA,4UZI^-)\&LC MN#M$KGAL;?@]VB &/6#IMA%363=I.%KIWSYD$)7,1L3) MJ AJTXBQ5&L3L#A;VGE25=)U;/K,$K@6W[NH-\NK]\M6IUS:]U(B;C4V$00& ME95!7A\UZB^-I22. KC/T$TX"NS=E46[;*,V8\.-"__\&W7<:\J5?(I M*E5\^.$:J!^S)0?!10408D\G;X:782+;?FPQ/Q2$3_Q1U=-+;'M?O*26?K(_ MT<74N38SO?&>5:^]>N](COC A6S7C<4#%\FF5;9[LM+/))L]R?'GACT!\YU@ MWC]21#YMF#?ZBMRJ9]**_E"8%T6LJ\8PU9;R<'+Z"_?+?'$LUK8EFJ-;J MUB%S^SMQ[J9):\[:';G9R*0!E9#4Y2<;I4"2NE!DT^C*W48F%1=5D?PG8TAC M+8>0^05D7HT"R7P B<^_DA6)-N2F(@2UP'HDUJ-J+(XEJ _'>D.1>_5,AJ]4 M1;J>C%WM9@%+H.5)]DRUR&^G$*G*ZE;-:CY6-6]US,,J"J,[#3-BK0'%I6IK M8V%-%$K#BBHC3-.:N"?6(XJW/3+-7=GH_I3"QE.XZCLJ7+??;\XNVN?9C)T1 MMD7YD1]56)>F;7%61HD%\)6F+QWLR2)$<($84=9UJBDP(@Z< MQ$(XDY[/0@B7'_M1J6$%$\('8;]QWBMDOEA!6P7!KWE//^ MR\W30VR&L[N1]?HO;K5HZ JS:SZ/>6B&ZMB?P MD/QFDG133_EJG_XO2H/A'9]*OD#'DJ;K<'E,)8!?+Y;6PK1AJ::AKZ1W:N>!AZQ8D7W,EPS3 M87 =8=,:Y,/T1KR-#:QDJ3OV6NV_,U,=Z=56[;?HT0S) M7HYGN.D,&1L[?RIM-+2+J\&CQ$4NT$?6+3&"9?3]XNS#G;%;NPIL5$&;4##4 M(;J&YGRA&BLDQO%,Q8X9,=T7ZU'=%ZE:U&AL58NN5'N;3G2_W$T9(A:*._69 MW$W_96*R$0ZP![KP6R]Z"E&ML:-&5 ?A5M_T2OSB<@MSZ=@.,"5,-YW3A=LS M;0';RN^,WPN 3_K=U/&[H 5]_3J4I0^!SS[B[MI+;//AF)(J/1+@(K0WI'3/ MMUWRAFG+E%&JDD$<[U"P"QAKQQ738ZA;CPY0L],Y[* BHM/WZHKVHGDR^1FX MER4LZVNHVK.-T]FG:5"G<[XYHLOM&H0\< QW.)=0&JWM$S:ULI>C_P"WI!L^ M00KBW=(0XRI!C>@K8.Q!6A5E_ M]-0?\-7=]&[I8!*"_2]57Y+?06U+K[]6\*2QWUH-"!+G@M';!P^2R>B91EZ\ MUCYC8F%[(.GZ\O;I:H!G]BO0E-O!S<'>?9L$G%83H/CF/$W> "C^6RW>)>C= M?D+M<_;-@;0P+::B3*/P"9K8B""F9T2G"@2QQZ#8(OY0G,U!\5A)07F@/F-_ M)WQ!9OU7 MZ33*<1#RE)4 UN.&<7NW"JO&UEGECXSWC)ZX0_VJ+SW^*IOY0EZ+J1-1.6^Q@Z]A$-ZF%WOW:@ZR"P>0"*K.HY R I3BLB+O,D@*6$R*@ 9MR#81SVZ[:>D#?I<)L?$G[UWO/ M?JOA->XP(@8!PT.#?4%2O@]H*Y0PB#6W75K:O+Z,/4/3TS\]PR>T*GQ'LS!# MB3W\,U^&S#MI(F&/."$ Q>J,H8#&!HP$F,6$2#8!T>NPEJ<_#?-5)Y-GVK9U M_3PC-0/WVJYZMJ=J%EV.EY@;_/D$K.YN&I#(]&M> W+W: Y4Y+Y8P>S"_43Z M^ZK;:3",IP#(9]AM=8/TOYM&#;]!'.9D\$[/]@DV3 NN$AJZ+OZ*=B0&)0WQD-5CZB(>%C_UU^\L^&O"5 M]W193X4%S89Q^1C6Z1"#Z7=,*0VTP83?<9O$9-*C1'LE&:#$!Q3)@+_PD*\E\-4#& MG ASND%'.O,HQMH92IV;+4&0@<8](^KDOTO@)9R;20-'A[6HLO2%F'!3>$%9 M&*Q].05B .L ,M;I5^9<\U =Z?T0!;+D:Z-S]>OKTIS_L>$8#]SBEJDJL 5 M,6=Y 30(S_R_P-4G!/56&7](='-!]2KDFZ# @SKOFDI(0#JI+4&0VTM8,-Z* M -@7W&(!&@46:)DCTP&:F5B@4,,M[)6-U6WT>E-]J4W8NDP=K+#E>$9.!3Y1 MK7GMY1P;UO^/J6P@[G1SK+K;'99%"U6;N!)HO56Z-%5!W<.&]I[_?FV8S[H) MBI_CH!7N&X#KP".KSP$5&/4X L^$YANE^\ ]"M M5P0;>R+86.!@([S!&R6K MOK;7JH-PZ+>ZM5ZW,:BU>NUZ[?+Z:EAKW32'O:O&=>OJ>KC>8+FM]*[;[6ZK MIO2N;FJM=KU1ZS=[@UIC<-VY:ERVKB_;ZPV6V0EZO94/[[75 =TNZ)4*=T MQ9,>#;B6@XI!*J:&^#&>R@P(C$F\RV4B<=P8OZC97,SJ5((O,P]5A@W]G>MG M.V<7_;900QNO-F\:F[$"/&XP@Z>@)< M1@0=';/V58@G7X$(#.*\-5CR5K(>3K+2ZU6"VBLEP-%QS=QZA'G ^7PD0>19 M$'ETE5K:1+[%'^QYDXGG&7:)>W40:??D7CN31AA"D!^LF]-@\-7@45!TFKQ/M'UMSK$I*P3L.&MI:#B'\W;6T?YA"5K983:]@9-.EPD'*+_4]T<-#39O+EU@%" M)> :$=("'O)O[)&.J=V/8A7\[6EJQ[7BE60A^A*:R! M./F?I\Z"[L/YG'[:@HA B0A4A@HS;Z"-.0]H7I-K%P^,H,]ZP'*:ANC=,ASVS0?1]N?JF M_L>TAEA^0'_L'O?0/6V@ZX?@2>=O4K@K3N X *.BV9&[S6I8%952,+ ;EHZ] MX9:JCO6-5)((-I(-&^GDS4:"I^NJ"67C' VYV:L&XZB40A*9/2L81S:,HYLW MXXA(F"V7RH$3&>5.?[,+8!D91Z4TCJ_8PY"A'NLWL7V"<&9FR3QZV7DSMN3B M)29YBHT'?"9S^O_9>]/FMG5L:_BOL-Q][IM443X2-2?G394\I7T[B5VVTZ?Z M4Q $F1$D11%"F"$KINWW9LB0.P]@!@[[4 &.P;^>IW M5*TQB_"'+6$UM_0 K>M,\Q[#T?= 0#_GZZEIJOU.*(DONF9>)0'JI M'"O5-6)1H=[!OU:%2X-F?3(!]I'KD#]P)S_1:C759K\MLX'*/<"Z L:Y_E[C MZD4A5@!IG3F#6E8LQO\0 .66X21G%SY$SKHW_-4[ 5@U?\FMK^ >X'IGJ2>A5&!EP %&PWC_":>FZV MD$J/$_9,"5#O)(,UJO\@WC+G]T%1 BQ#H@V0F-@^[J-$X$<@=! #)* 7U3_!,=EC0T$U^-4J\0>HX\PG@HG%NU6F'J 5')X]PZ9>/\,",N"7P#M?VY8Z .BLGT M*DWRA&QH\!1(>L_T$USBH*8-DY'1J61XJ/ =R)I.]7&D?F)@,1^!YX(APE*^ M(Y*8T9_QX '(I1PQ1%#@>1@4):47)THVJ.^#PPA3V! R0X08*9TS B IK MV:C<@"(RR$>%23KU\]'0X_V".\=%8_.@)[!2A.86P8)/TK8_F[UU["N7O.&XJ2B3.T?IRQ> W)$XE#\,2A%/P/2#.87Q^5+RN\?U M8(;BC,5-NF[KS=BST5FULLBVIIB?MJ9FI0EFM];F@DD*YNC:&J^8WJWOD'6V M%[O:+7%0OTI'O?)_V:@-<$W5-]W%TB^RK(:6T;2:=&FW8EF_A=':]CT(%Q:5 MS70AYR!,9]!^?L; []GC7_CO)2"J"KSFJ8J#&NGOZL&G([W9J$^#>CV'I4PQ M[O- H#8NU;F=5JW6XB]%Z&P5,G';273 TOMF&F<.SN4'AZ>K*3BSP>>D+*T: M:LWYSW,Z-#!<>B!@M:0JL6D@UQS9%C]Z?";%X($3G(H18WK.8,)9QX3C-S=] M5_'G"A.SC@G0IH[1FG.M*L$RST)\'B;\^GAF04(7)9JA/>GEV_7 Q4CQIZ&O7>#?! MW@R%M U[DB%E_5_?(DJ[R1:5B\7.LE/!#-;U'_\+V01%0,3=&W^UX&D7:HRO MRW31D0K3J3)2YK836B!'M!P2]T>"7YX1DZ;NQ!T[]BO>'2/MLP6Q+RFZ_@1C MZ'K1:(Y-W7@&?PDW!#>C+NM)GBH/7"5WBE>\DC*F#=ZZ\PYN> XN'J,,;>Z& MM86.(,++L.LNY&877Z)SMM@R"A36X;6\]SDYDFPLFP!M:SCH!P*T(>!Q]BFP MX)N07;]@.?(8%G5W,WM"E&O7I"M^W)E#J6L+LICG90U:W&?0E3OP(:?QR^K* MDVD_ AA-HH-+2-&395.[N"X-K;3_3KF^OEZ6KIWKXU_Z$]X[N34PUN'RD)"P M?8 G']X$'MP) 1C7^#8)?65\G,4[*Y' *A5+T &,N@G1R7-@]*F<\41Y9);@ M$O V848RL\U)>%=].@74HRPJNRF]$0X&/F#*Q$QAY1 7J*8#GO)Y&WQ)]!VF MR^P0B[S"*-DTVNX?]E)X%>U+"J\*++PJM9UKK^V\*IPK17"%J: 24 0WKH'[ M25*02PKR$@OYI AN1:U\:[2WJMIHRZF%VS[Y,E3[O0IUN&1SKI3"%3E&/D:I2Q1C)RB((=J5O?D2U>JVHMG MU0LQW Y-;7K(VNV&38K7VLFMFZZX9*:0I@)#FL(H:FO+U-->E M_/64T^0D"*+(:=;>$45E$[>T5F,4G13)S6SA-K,/*E&6>IJ5K(>'5=;QB2*K M.3@06^FKJFI;4UND@EGZE)=:71#:EQN8^G, :+2RQG4"!4IL=))5J'8C0]D&E I'49B2^&$AM MWDFIS?+]PAJIJSQ^X8@5-ZF0;U/6V(CG71*"F[=2<+-49[)&^JIT9U)[W4VZ M)ZEU#F.QINGDO=S?WXCS4"6*7[CT.0WQP<1E7_024?4GMSKPYDT"R' MO:@N$IQ=[3 6( >50$@)3M&J@-,\U\P$%E E*::!*G8-F@56<-1+LW#?' M@=3KK*->IR8(_U>Q*I4IZHD993O;/,*C+60[A1R7UMY5);.J=[;Y/#.9A>V$ M&VY80W96UY!2P[/6WCBKAF]J7FN M'[ZC5//DJ91$^ERZ!3.K^Q,#K1^,DXUS)O> [1ZL;2SA(MP=? 2B.^5[\,EF MH'$%SL28XK[!+.[U7&6F0U09,\IFY.K'IWHD,#((/7SJ#9=G5]].#:7L"=X=7 S.E[52BA%(T7W/CN1! MAMU=]%!4)M.D8LI@3#GJ*$M"+(%:;6;!E+S/L;JUDF,':M-%(TF9P6\[LZ%E MO5>+X/!7PJH4MC>ZE-:I=JDWWK:1JL4_2LV_JSNR)A>Z&_Q[FRW>V)7=<(\W=S4D M%4X9JL.V5D8A4QX\[ V,$O=9<*_QCLJ;"]PWZXO[=E=M:Z7T$N^*>U$";@%E MQO4(N#?L(,5Z4J[IB:N,O4+YH*+K1PKU00PQ>*"*,F9,S=8'*-U$AW-G!)P2 M.9_IUA.JF0;-C/ 1Y'5]\QS==B:&I3OOUQYY=G\0[V;ZH+_EJQ1.PD/)#8YF,8YM S(K$-";%5UG5:@W ]0L'%H^ M%]14NSVY+)?@YX*_(W(HWQW\K8':[I;2J7\H\?=HUN9AT:H">:#BSG2'[*;. M69/SL+)NU3[,USK,6U4Y6:(XNN-8:"QQ(ISIKC&6ZPVA4J[>OM<;M\2YQWB7 M(?4*,Z\P6(9?I3B*,K!FQ@SL^L<5K#].^Z6P&\C51_U-H;_OU4?5IM IA3E0 MKD5J'*(O#-/WD$)$!FF!/-.@AD$Z0%+N,%T*G9D,T_4W!E[-FNAA>D=C*$>( ML)A +2#O#=R@K Q=6*\A&VGMU^O'NY2J['#H6PV?PL[6Q-7F$T;COT: M_6GY;]CNJMQ^_?'S^^::[[7=K$MC B\9W$Q1KAKAC=.;CEG++N\^*;KYJK^[89\)YA(628S59V5&6.NN MABVU02KUMR;]#R_+"OYTHOS.G:9_7/"G">%8S"0]W)Q_,ZQ?L;%E2-IFT"C4 M$VB+PR]$YLIGJB,#>;1?"+Y)UUX:=\R+(]!M='9&I!3TQO%'"WP)/XINS_V;J?*M:5@J[I'61RFON<[B_ME>BN8D'?% MA0DPIO#8EH>,-8[]G'CP!3.-82FN/Y[AL#-LK(Q]Q!X1NOP?_C/<=,Q^)P!1 M %H2LYB%M2P,XH_$0V_SIA68'6 MUC2MWSU1",36.?H*QR>!W0>$!,QE15P$:=P$2]&4NK45NH %WP$-?:+]D M]>SYYY@K6HG:P3BO6P"N1,BER+T<2C8&S#\>OWQ( 7>; OMCLF=Q_=-3IH;] M/GV $27@*D2[X3XMRU%"IQV;KF2Z^ M'#I1S2 *>\M$-4$$<*F;1CU8W7J'A]6:K>%G-^+)FB0&[O&=?OH9M485[WU. M:$1ZLNT)XR"+",E7[Q8:8D"&M[^9!E"F-#+\ MN-#CQH42F6H&S?TSU40!*!Z.TN)1\;NDG>6#XWW<=/D$.7'/J+VW MU:P'2T)[*%H?\(+4QLW$:E/JG._&H;!8-BZ2#FF&^S1#R56RBQ%BW*VEP4G@ MU1YX' HF"3P)O$K8F6H O,I2C*SUC/M+1*KLH&(+;GOZ:4_@$=4=E77/WK&\ MZ+'<4T[H@=U3I D5+B@N5Q >>%!<*B6\=>R)/_;<]-A8=AW5GNZYOJ J[0&V MD20KO[*JPV,DX0@(!1-[X]RS P]:5A7\,DN3Y88#WFLJ*8($"*Y+X/\F>>D. MVAU-[7?6-!M7B(O]HU-:1$Z+R*@64Q>+T)HM5>NL8=*1%B$M8K-%\/@I.-6W M=;&(5E]3M>&P#A8A7'I[9'L^2^GM@VV;6'B!E1_?]?',L(CS?A2Y;N9["N:Z M>.PB6=/;8+9'UB2::Y'<6$]M-]<0>XGEQ$2!IC2'3G>'W%9PT/:A$=A$MQCWL']]*"/Q"X&*2Y87'S462X&4_I M17%U&6L*MO6(/#Z,K/ER##K87PN.SK3GJ/ JDE_LJ/UUG;5B >UXLPEIB6B) M&?D?ZFN);57K5KPM+2U16N)F2\Q(/E%?2^RH6M5KA4(M4;@EQ;'OFGNZN6A6 M/([5Q$;OU :(3VP?6Q*7G&GEYX,9GW1;1]KE*7#Q&D!%\(GM;EOM#RLN),DZ M$<>;H$@S6S6S;")3 IA9!ZM3>FI;6\/[)LU,FIFX9I9-@TH ,Z,E+T.UO8X% MN9YFEDCR$SPO2T0O'$JEP^8^^\>S"GD:,+LZ" M,"@;O=?$F$Z)LZ#T\J)+&M:+;8PII8R]H'DY5?Z<$2OV1\H[AI1C!K+&V+PG M4>,L-,I,=\%BX:9(5A9^^L,XG$73T!\-$[Y'W(]P&THJ-X&%GCB^XVH18X$3P)[JX9@PW#"&*.R/$.ST2C*2Q ]ES8H5%7F/3 M=O'GT(P0 [Q904],!_F=DEH02FJ1AK4XX86":Q^506\#L1[KFD9VH"2ST";6 MGU+X-G?C]>'%.PQSWLB:? M&]IW+\M/O-KOMJ\Z@,;PCQG!TWFN< MG36;5V?MBT$3-\\3%$!*0$Q*)B,(E^<7YUWMLCUL=%O-=J/3/C]OG W.M$:W M.VQJO<%Y\VK8+9\U:-B5K$$E[7TQ;G5!6M22S?N]FC3O]\7LWH\2FV\+YRN[ M^:4%UL$"!3>M&!_7GBU*FHHTE4,,5I+53EJ>Y'BJP/ DJYT$GF2UJ[&GCSGH M6A^<"7W/(C6>A'[18[GG04ZH+.:K5BP2[GNQ?#+54!X)_-T*3L7F<&U[&V$WX^1,ZU%6K1GB]@L\YO_1]Q[(GNSI9=5J,.[DH4 M$$K@=WF$&=N6EN\5^.D,2I(#3BZ LT3K$)6N,H'5+Y9^0H0V)H$L+99U$N,% M57.Q8C0J"Y4A7&!/EHWH8HTGF\Z]C&[,)P_V>1PL=P%6:,E_B)2\_&_M6BPW M1$&@1'TW&ZF$R*COJ,UZL!X*%[:/;Y%]EVR[^#]R''O4(CNG#VG>B4>T45Q, M#M!P%X'APD=:CEMZ>)&K>;4+$;CBUE6.+_HH)-8DO@<]'O]!<=&W8'S3#>U^ MJRW.@[W:L+%,;*\X+'P=]O$-K@KXY$X1Q%XU]=B/9H %H$=U^8G M3W5LV42$\CJVV%[@/4#K9AKN_^5Q:HH+KPT_0?3N=P7S;9MGX>!C^R&;4)H% M91,=VIL%U>6\*!=/T9 M6FZC8HS=-5WOIP4%3 ESLG\,L7P,PF/JVR;9+#VD3>J$V$/FMB MO(3D1;=?KQ[N4ML_0_?<;/ZVX!**76$V;3CVZV(!L_0W)$U2;K_^^/E]6JL8@I*;XB\!210X>'C%XF]H_$S[-HD7@[^GK9.+N['/VS M,;IZN+S[I.CFJ_[NAH$&ESP628S59V5&& &4AL1,P=+O;TWZ']ZJ,/C3B?([ M=YK^<<&?)@Q=Q4S2P\WY-\/Z%1M;AJ1M!HV:2 )M MQVSD?;X%#L:DT04K'3 /<&,$?CJZM13NOMBW)&U?R;1];"Z4G1G[ZD?8%Y#@ MZ5&>-!513.4PXI3DP).6 M)ZG(*C \R8$G@2C.->D1QX.^%8Z[?J &3A MXNGQ=0"L4.HX*^6#*GS5"ZHR(/#&%1>/(L:*V^N4[HY*H=:A;HG##A;F9>LK M^[92?5=[W8I5 ?OX%L A"!<<> %4%W63 M1Q&5#[E#.;7)?R=VGDT+#G!D6#AH3 TR>; 7>RPYHWBG*QI'F.SM/UK+Z>_$ M^[-7R]'49FNUX:=>EB-C$_"/QA6R+N"7$[21L8F+.LC2.LJ6X$/[:5>:O!9=:O&&KI3DS[/GL51L%:9AG]B:#&IE M5I>@NHS4C9/\QR.L(=;W$79H$^%'?DW=ZM/3_KK]/GT<&PH"1D'$*-<6MQ7;4Q'KYZIU.-=XD[CEXKN7D2Y*02* X(6WD M"'@E1"JL8BZ[JL-2NEUY.]@X]2YE?E0:2?:/*+H;6M+PQFXA5":NW]-[6NUZ&"3 MH-H,JEX!99=%@$IV%!T*HGB=;6.3*4L?U,%$]_PZM: MQ,-:7(=,890$[J<5S /PFOVV3U1P(AYP'G([@>[)EU9;U9KBR4\+7)[8PE3%'78DA0DM872@-=AM'UB4@B4-+4SD.E)61LHL:RBUG7]Q\WG M)LH]Y>#*P95,A'5:T\%]?]A68XQGAH;U0EPOU#R:&I9N4?4J#+DOAF<05YXF M'M"+RL$]L'N*-+C"^?7C/DT\U^<&]E%A._$HT4C M\KPQSWI9*X++ALW1Y=N<6#!+V,D%2V@?Y6K/?.^'[?V;T$W^?,Q<6BUXN236 M-F.M703[2ZE8:TNL'0C6>"KDV^X#EHHUK1Y^3;ATZ,B6N4OIT"A(?ACGPA.Q M/"J&;$R($W26R^/+3/YAISHKY"K]85NX]W#CW.J.%_QC-/[+-UR:IYY'$W0> MGY]OAOYHF(;W/G)=_SDO66E'[?8&=? >$GQ<\.U4CU4Q^(9JOUV+4RV)/2[V M=JK<*A][_T<<>P)77(9=HPZ0$RY9.NZ]HUM(V#%#>M%-GV"-EX4'!O;SG'@4 MJLIH(6KON[P13\0UGX@[?Y6;ZTR64(]8-5CT'Z1$DGKAX MXIV3;K5ELP.>TE/@@<4GF+V:PYV<0 MF;=D=0B\<^NM\I90*N_:BKN&:/M5YBR'A:4TN:4A[Y!SJZ0E)YC2(HOBPM# M3V)F+F)*CXF&*][YY5992[FX$C!U$5R8Z[AW76[F])#2>I+[+COG+SM)7@=U M=TOKF)M'3SR8XQ%6;%M=7 +F:KV($RXI.NZMG.6D2&[F;+U0&C9Y;"0Y=W,* M##^+I9*(F8]<@F=!%N]\,^?63BG($C/#D=C:F-P,F[RCSIR[.T>;O_RQ03-U M2;;T@!53O]FZY?ZP/>(^./J$C*S)C3$IWVQ8,[F%ZZ@6;7"%R[7&\W1M0.\8 M'R_:"^C2O4LP,A@P'#O,X9,2-Y_V^7PERLF.QF-8M7G,O5!' ^[E*J3_60P, MWZ]H^Y:4'32EI&Q)Z^:>)A"%#+UG)+?5JX?&G]844^2/KULK5?ZDY>44NBM] M=26VN.9F.3R>1FZ-[$WBKNZX:]42=\*=7U11U,&B056$H.%Z0'&BU!\F2FNV MVI\]W'P0]^"B3-^#[&_=:!PL#D,(+!9_7QW;=<^1M2E/3VCG MY$NWJPZZ4EY"HCDWFGEM\YGJ4HI&,Q8[#=5ALQ8M\\(%U"H* JH-J-^(ZRIZ M8@-VS#9@S6 #]A@":K;\,/.CE>R<,F:S/!^6>N+,HVK(%I)#_%S9SH7M/WI3 MWUQU;+OXM'Y;-(>6&3-BGDA+ZRG8>EH\8HIL*4#IUM-MB58$E--ZA$L8CF\% M'CN,I,J*QY$@; 1P&P \ >,UR3*"*U_+9'S2;=<\K5;>="$&H1_$V\FQ==56 MJ^(>PZS#*Q?XTG@6QJ/ES1:*,Y[V4&T/*E;"+-9X:E"@5UP]3@QQ__5=SYB^ M%<-5R-O<=LE$\>SD:E^9.P 0!YY(\6:0[3S-%%?' MLB-["G^R)_[88R5;,)\OQIBXITKLRFPG?OB97I^,/;@!7C:VO?!,O)D]@?SI MZ9UN->BKV_GX>!/R0DQ[#M_W7:QMFAFN9SN8W^$1G$F8.>%-'(/ =55ES.R MJ8/Y2.2O$+ O^]D8T]_!2_TBE$D]$)E1Z:]UN/&+ :,>E%.%EW$]W?/I6X]A M:&U B?O_*?2 @??(, H7/L'!Q&NX,]OQ&AYQGL%RZ9/ 95Q_/(M_0Z4?14DS ML%42WEY_QDOCOW@#X\UT3TDI_(.7?%=H\5_*ARS;HQ]1'DDXEC#,,.:/.@(" MAE5_PB$/GXCS'(^ZB9/)@$"+T%@]%IV=8'P30W>JC )M'T#".S@# ('"[IT%&!^QCNC $4[@Q.@CW-'$ ($,4A@Y]>#!=O1?>LPGNQ49KI+_!I MP,T3O#=^]#&H2\;GFI"I[IO>&N@^V^!\ 6P)<3D8P+'IP^S#?!$PCF!8Z+/! MFYL&94!6E8GASGUX.(? 8L9GOPLH:'%LI@:Z9OK;!*?_$M!XX\E /';L"-8+ M+)\J9]&4P/B]PDQ[Q&K8TZGR.B,6O#"B$5O/<#QAXGTK-".8SU/E,H!A' 06 M;8MV7?KH"$@+UE?&7$>TA&]$+<@T%1O+?6-&&IFC&K='PV*1"=^&3I*!J-)= M0,4C#NF+;I@47_@.?N"=HD=G\Q_BY72#.RW>:T/ (&\4 V% F1@O88G@[=>K MA[O4(K!82?*B8B]VA=FTX=BOL2KCY-^P-%&Y_?KCY_?-I69K*P^78\S)ES#( M*U>-1B?C='5P^7=)YC/ M5_W=#;, 7'%:)#%6GY498666&I8_!BOOOS7I?WB+\N!/)\KOW&GZQP5_FC"O M*&:2'F[.OQG6K]C8+HKNLPX:34\2:(O#+T3FRF:J<*KM%?W M*.,[F:R,'ZOX']87:+?W7: ][,H"[;*V)0?"ENO5I$"[U1>S0'MC?XZLXY.& M* VQ?$/\-R0NRB7F+6AS"OQ&DW*DM1Q9Q:]+]$S;'A^WRRTV.Y JL^.ML*@A MI#M;"WN5#^E.U?41LH^B)I'U-G$<'1U!'%\OQ5:<: *YGYWDX@-/%(& XXER M^1]M*%K;@]"0DC!N[20\7Q:,6_U:9(;"A=$C7* &=6!!#9."-4SZDVY8KI>L M':"]![ARQ1*L%ZP#E.&U:K^4VAY5A&Q$MDS_3\ .N9E.<_BJ#J3\XO$ ''P' M86U!780R1>F@Q@#<$6\=*WAGW_$M82\((W56)JR8'2O_,<)^MTVLE+LR\)CY M$2ORB7LC":@1V&]M?O)4O\93/]E*U2!K;>"]CBRO9P&H;: M-H_]P0?T0S:<%+O1>&H@6VDV%&LW:]CV%QH.HM'NY\*-<*G#$2[;8^?*Q)H< M_8ERD0W.);O DAJYU7.(B2Y J0I;6]*N;D"#KG8X^B8 ZJ0]KFV M7HCEV<[[)@6?CE3P66!SX\1N4/#I":_@$^+"*$&A9^EQM[":A,8ESX3V(883 M&YIC$^N)O$7 2I/2^-F5RCR'T^(BKCY(3?K-I#)/]@W$>K0<'+WE2844J 53+"ZR_*D@B!A\RCZ0ZX "$2S1>UTVF;?IHL0<3_SV<]Q_$ MNYG>$62')/E.\SN:VNEW!3N6/-[=]QHBNIMWM[PD1&N:VI)M9/6IP:LTBOYI M.[\4PT(*O?&Q5-F)(@RRK:/I[1PZ<;:OK5LVUP7$3G TLE],\'L*!F*>#.-V MT;)P$&O-6N1_PD7+XUMS7AD6HPE_LNW)<03+XQ';2O-:/+G-[4)O")VOB)S= MO59/'?0'0A7$K!OJHXW0TG+0WB'ZP M/=U4(L >1UX@1;96G%V;)\FY79H _BU?>6Q;[;9[0KDU66PN;2:#S?#Z-K9+ M$/+:3+NM=@[+9F15^9JJ&+RW%A\6J8 M)A4/NZ':8@O$* PRA5>=BZOSF*Z]-)[!P! 4J&,"AKKCO%/MNDA*\"D_NEC7O:5X\Z;>U17Q<=L4EU+B'X.1[JK[4,SJI MW""!)SKP9'EM 9X^YJ!KO?\@]#V+[)47^D6/Y9X'.:'"G;8<'_?/S9Q0%9E M%OY(3UL$H!_9WPRNBR+33&ZZ!\U&1-OOJL!X57A*X8@*75\.022EF)^!V M6^J@77&-CRQ!J$E0'(W_\@V'3'!?-J3,!= ^/QJ6CK!QE0_WA"@_;(\HVL>C MB)GBILNC]-S6^+ZT/&$L+CP'4B9;BE%8BZ6^K[:$I"H7F!022!W6P60 MU1<+9(RJ/;79J[C^KZ91]?B6FA>C>^75=G[ANL[XYGNDH#*$M PBD"04Q]C6''=D0RF-<-SN\!@F@O/:[C=A:-T MKT?VTQ M':!0#RA/1%U(3&@=\5K2#UY_160TIX&9)\*;.ZIN!6893N72=)=P>L\12Y.! M4^3 R5-*SALX_V1RM3?3Z1TQ=8],'NRD0M-/N$B^E:G:K[JQ7 90L5"=!FJ> MRF[> +H3J&LG/5:/P'I\Z]0KVR$PQ,J8:@J,WQ7/T2W7/)Z5Z2%K*:8&:)ZX MSQW[S4"%$/-=^7L: U%N28IP7XH6)[H& M7C@LK;B%<20]!WCM= M+^H3+V#<.%6X9/JE!*#_U-F?O.W':)NV':BT<7O"EY M&YO^A(3 GQ@O(9'%[=>KA[O4CO$8%<^"5R)VA=FTX=BO,7:=Y-^00$.Y_?KC MY_?-?>EK^3&6Q@1>,G1&RE5CX9A2&$_:C.\D\@HA4]+2/Q(_SZ(5P^WHZV7C M[.YR],_&Z.KA\NZ3HINO^KL;>BLT.(LDQNJS,B.,#$1#DHY@'?"W)OT/;XD0 M_.E$^9T[3?^XX$\3^K]B)NGAYOR;8?V*C>V"6BKKH%&[2J M#K\0F2N?*8J' M)S8P6)QE3-]35%8?XEP\+[KIP]T"%=AS^WFN6^_PO%JS-?R,]CPUP*N1AFF\ MT(Z1B.M(IUQ'2*(#WQ66JJ?LL2R1S>>*#OPW'/=E4C*>>.VHV;^X''6ZC8NS MCM;H#%K#QJ#7NFKTFA?-J_:@=79Q=;[$ $2?S[!\,AE! #F_Z&FMYGF_T3KK M7S8ZG8W@^.&M8U_T)))\9F_D,^?@9^UG+$K!?SJ8"L,1PBT$,EA\^3JD\(X]!_?_KORN/#@Z1!((U\K_Z,_SS\J9 SF( M1*A$Z-X1^L.V&DEGB9D[\8A$HT3CWM%(-0UJB3QY5%KYNN!/NEM$)@T=QEQ_ M(HKODJEO*J8QW7!P*EU%K5Q%?/W7<,FX8;PU9L8$,JI/X>F/AOL^C -ZOVL] M&<!DQZLGPXE/"4\181GY^3+\+0MT;DU.BN\9ZE6$!V-X8.DG+2$STB> MU]<[[&MPA,O'J^AIJ#8?_^K8KAM(=!QIX6*6^JJF4+U5O12]]_^D'"2>O7_7 M_VL[YWA.-WHSW$:X$X][[^YW>@237M>2\(5HM]O'6)-;0' MGG1\'GN('P6$)P'1,<#(FM C@,KLI*\V>]),I)GD-I,4K?*MS.2';8W9 <3H MR2&$DD-59A5=M3.L!6NCM HQK8+'X9VIR+<<)]]7^^U:<-(+MWH[OM.4T7CL M/_N4$0'7<##L_R>[T2?+[3,9'ZUDMY1QWVQ;\IA^2M-996O!&"Y',5CFS'I[ M/='\86;H'7%C^U$9(:^13=0%:*'&J8F6>DO3E*:9,$U-W$5OD98X'-2']N7H M+#'_V%2^FB[++-LEK+H+M2>U+=R91$Z+$FZA?GS'K#^()^EA"F.[V*_+*XKM MHI_")E#N2GWYBH#&2]J8;%A/NPD1]M5NVFY7 MO$B7)BI-='L3+:K(*>_"O32+[*C=UD&Q3TF+/ Z+3"FSJBJX#=1VKW5(ME0+ M)C>X=4 FHT<@D80RDE!&6$*9EB24.$T2K?H2RFAJNVI!/%DY46=[X'4GY+$'L0EE.NIP*%J/@S23 M&ID)KZ(]CYD(1BBC=41K.)=642.KX-669U(U+8=01E.[/=&ZM.NQ>CN^TQ1) M*'/T#?,#7MU]U6O!(CM[.VJG(WOEI1$*;82\4GM1%Z!%&F>K+UKJ+4U3FF;" M-'DLJH(L>HNTQ+9D71/7$B6AS(I9\FA<=UUU%YMV'@Q%DW +]>,[9I6$,K(? M=\BC?MW+2KU,0IG!H'=(_;S2%H_#%GD,L)4NV$NDKQBT).>3--&JGW1K$RVJ MR$DL0ID.M$']3T M-QIPWJBU>*-,IEK"&[5.VREO!/EQ^EL-.6_57+Q54\"WPJLHWHRP_AR%6!/ M;$I3AK),@*.I"FO16/\=G%"5?H@.8?HGF\$G'>+.8;$">9/Y?JH\P!,2UZ/6 M,H&_/>N05EE/B5*2R/3 N.SI=B_!WL%P\;M3VS3M5U?Y8%@P,K;OPD.['S]M M\"BE<&$M:+BR.8 DE.[',S+Q36)/4Y+0*]_S'1)'W24;1LJ,]0"W/#/M\:\3 M!G2MK6D:;@\1P.$<.X4N_ MXOWDU+R[;,Z%>SO=8??ZSV$*SW?^ MDZA5R_\!-WAX)>8+^0YWF^5M >@TR^V4V5\YZ!X.AWB(W*LI=P[(E#/>I7)[ M3N$*+]*>_PVIW<.KG=N,RZ5!K=R,RXW.>S;CKC3CO9MQ"I]XX68\G';>'Y1Z25F['!Q60^]*.]V['O$+JLNP8/IO; MCLMMGJSLK=!]-F$ZAK'WSLZ9Y U[]=@G>8(3P MV,TE]-1VM]PCXMUJMU.0(6/_BL]@Y,.'XBY*K3(IW(>44E?2:S9YA=&[^I(? MQ!-5HDBL&I)J1(EXM_YC8KQ\H4_)/LL^A[^D/^U\-$__'XY4-*F<" %@5\Y)/'KSX]E8O:[].'.%$5BA1:7A%A MA?O<<8-+V%O2W ZF-FLQ0G,<(5;$0\(A0MMT#=?#>A$L@F&E'UA84OOBC[4N MA.\XM-22CA+TU 8[E6U(/;64!L*>)AJM<$2TW:L'T;;6%(YI^W%9?4[JFDC+ MVYGB/MA?$<;P*F2X#X:"9W8896MI;A)V-8==JY:P*VC !ZV*M=1E>VB=S2&- Z%^YM!66\-:F$,YA0 RCF\1Q\]\P\1M M-_V0X]^KZGM6N\6!\VU=1M IJH%C*KU1?-VA0%+1+"+^$PU,\!= M*^R$,L"VVFV7RSV[)P.4&PS5IB/1?X>\9N)D+_%QY"<'4$VLI13G[=U5M5I- MM=>3-742SKGAG%OKJ PX:SUUT"Z7UTXN]0\QML84L0%3E[15M>RD5@ +;7K^I:KWZK/U3;4^N_@7)4%J,2^P'\? T0FX!",($ M*HK>+#C+W!(@:[U?7E;0[D!M5GWZ4"O-YI2GK3 'D4:V:F0I18[[-K*>VNU5 MW%)P=$2\Q=&%QH#W7]_UC.E["H/H1=IF1*0Y:T^55#)6):_.;C@&Z1*[[5!@ M-UU<5\OTJ2W$>MD'MY&S[C6;2\$REYQU?%:6%A2Y-)+[IZO$^UFTK.%U>.K< MVVI9%_\ZJV6'686LX95X\MS;"ED7^DH]?*5FRBLEY*(K]A@<+E_R-C;]"0D] MZL1X"3ES;[]>/=RELJ+&2+@7%+:Q*\RF#<=^C?%J)_^&7+W*[=SOZ>MDXN[L<_;,Q MNGJXO/NDZ.:K_NZ&81#7;Q9)C-5G948"_6CD PX6Q']KTO_PULK!GTZ4W[G3 M](\+_C1A8"UFDAYNSK\9UJ_8V"[8Y;,.&C61!-KB\ N1N?29*BCN+\CC1C;[ M=AJ;_5)JM8:B?I6J>HG*>D&*_R7@A=Y(8"\\1K[^,^T6*^MK3?7M/_@=%W3PB[,86FAUSV!3T,TIQDLQ/4[XGJX MU7L.-S*\T9-#R*)W[#_@S\C-E/WM"HS0-+QW=AG_T34FANZ\?_5U!P;1SE:< MGGPBN"2!Q,*/;19G3BGZ)U]:[?4IA<)>5 G>E.9,X;LJ[(64Z&V5#S@/@"NM MV1I_WN:;[#N3SQ\A@G@S\$Z.IQM6J$<0S#3[T/"SJ[CAL!D SN1-HP%5%B.Z MN#H^Q)EN_<(KCZC3UE7EQ^GH5,4::\-S%?"S,$'>>X@J%*PQ=!/B&[P%8< M>89?POA]5;$= \Q5-V$%,Z&W@+& 4LSU"ORZ/@XZBVTT];@E"W5]JT748D/ MPPD*!G'*C!MAZ5,<>-M.7DR*0T_U6&U>L7B5'NL_WVSK"1SO,]X\JHB]9\[W M 7[_S=:MO3NW3HIO"P,#/K1BPM-!9A.W%+;/$7W,(2^V^8*R*,G9AA#$)OMU M9HQGB0NDF$SG<+=P3^\L4.VLJ0UVDUCMELX_W6P6B@Z=I M>-6_8.C@U^"*P5M;8V,.L6BNOU,B&702J7C1N'LR#"^'Z2UN8;CMB3&^94-T M&XY9KKV6]9M'8.0Z^NIGN,D8)F[#W'_7'7 ,;3;Q6FSBYXX])F3BAIG.5L#+ MYER(XKOP;=QXA5R%.("?L>W,;4A@X/X^_.3B8@;&"1;"Z-RFX,SP?_%Y]#' MT#4HL. 1+T;WRG=X"AA*FG:_XGH=_C>9VR[%B$'73I" 3 A:)QAV M-*)GIFVC/3XI]S/;\1IHI2R;_K=!S(ER#3=Z4RBN/H3Y^-G]V;\7Z??<]"$O M##W_\(IA'7\'=R.D7B&(T@' M$,<7AX^.'AT\_."*S[L%CYCN],YT2!GOYP[1)S=6_*:MR.TUM(Q^KP-N[U1; M/07X#9.3M GJU&."6!Y1XPG23KYHG#. WV#5!C[9HY8Z,5Q(44.OG=@LH3LE M\$Z)52 L.JG9FL1-M4\4LPG]60.2EH;QUI@9DPFQ/H4PZ)Y\:0)^?OOC=_SP M%XJ:#%^#:/M_Q+&#;YV"+\%RKADX)C=8O>KSN0F!!_<\@^-DP[88(1,<28O.I\C-75%$3>;Q!]QS^2\:>0K>4GIF=(]D*F33&,W@@6 /: M+Q!>X8? ;C+:WV?J07OSR[?K@8<:Z1 M(S5%@X2X[ :!.;P2!&P((1!Y(#;2 UF89)?A*,A$X'T]R,GB:0$&!<<(/V1% M,3],1M58W,>]YT?XP0(\L;V/^-]>X$KT*P"%[VZE. MXPL2<*H)!E4WO.;-8CKR;O'0>+/::16??WH+R&%-=G/T<,$&3@P.JC)Q]%<: M7JB/7OC?:&F!7N_5=G[1:I0@>"+'%@'G&=!TN+Z#04>9VQ"K# *+GAV,/Q;Q MHJRAO MU/KB_A9'&)"#LVL:=$;IN02LDF)!-)\#J6_06Q_AT(,WZ.85S6*"/6SW /6D M[\CE22Z],B!HP4@4 M!Z0_46HM?^ZK*,$;Q'M-5B^]09Z3J\>\^=;Y^UY*R4^#MU@N08C^+Q&!%CJ; M<;W-"IXJJ36[+/Z9'QG0VO?[(T&\[-'A6WX1^V-=[!C+NM_::D.=O MT[IPCJCCFQ617?E8U\K*6UE)NSU=2F.QWF3_W=M!6[9#3^K8V8*K0!C[$C]< M@/GZ4N\#AN_1P-],XZ:8$<8)$+WI&PX/9F&G4W75L_X D>7HGY0K[#X\QRT)97L=FR M]XWK T1@FNAS]>?)A0$7NP,FNCM;YJ!K2+S6"Z\IM>G2'Q[EL0\ H%/#1&3S ML<[>;6O+9H#2LA'MH=!)]N=&7UFA0@TQD VAE G) 6!VF5&%*/WAD MNR!=F7P485)[*HG,9G0SAY ZFIW$7V[\I=0'UB;]2(.M3$ .":V%5-8=MB\\ MHOV/7K$I2+;VQPJ+)RLQR"(:/X8IU71[SW*N;-_)9=B:N&6U16-46D)9EI!V M]%F3?"NW >V_XU$:T,$94&ZUO/WAO-.N!<[%V:RJW^JHH/:'?3W&U@NM+;G0 M#KI3-V];A$2R"$A..]VM/N$2,X^2!G! !I!RP%SW#O##[E^3TG\G7_"844K_ M"2K]5RY)(NNG_,/X<@%8>&'"45<1O^@B :5-B[6EA]Q:H2 DVZ0LNB'#:0,9 M3AL.,2EYYF0Q8,9BF) F&QX*J;91LHN\S:EZHA)^"_X\GC'>CHT 2+*8X#JQ1RC'<7Y26%&;D M%V'_/@VI2>D?#<:R/M4-$X?3^!CP&@;^4EU] ON5N$DZ>W@_N,*B(XR^2TB\ M''QJ^T>PR).^>(1P.*.[)YX)1E5E8FUP6\J8CO^"F1@;SMA_1G[AD>D:(CX1!LSV R>IV'/D(,&% *7>YNH-4?<>%QV* MK"SI.%E0H"OFQ"M&VEL3P&!:H$E:XR,Q#?)";P-C K!'ANFYXU/M"KB,";;J M!>A>W)AB/.!5":/5RI/ C2 <$N(QW0:;RE10YT49K"V+L)44M5J\0\J,3 W' M#;Q/#I6,)=W5--[Z#F?SNS5H-)$@X3^+6+?(C>X G72/(L$(_JK/LVF$A1?\ M8>.3Z.8.BH):F@#[!@*(Z!5W?=MU[X>KW)OI>1#+3A)#WD^\) JQ?)KXSCO1 M'5C@+J\/&_C[)&%,CZ=,6'I#OK0//3T]. O&WN4->#!OO%\D2!L$TS)C9):BQQYX1 M,VN'YH)C4+YV59'KMA7C<+!^\(H,1I 5@ M\^EW;[&;X_2GS7=:U(>9H;PW.@\WOMNQL#2Z"S)&]QN[(3R"_:/@^5<\&/KT+FAVW9*@J^ M0M3Y!N'FQMH9!-RYCZ:>9TUI8]OGC&UK,;:M(QM;;/]=.[2Q5 !34C?@SBHG MF@01+V[(1[)!,$IN48<#HN:VD2YKKVV*". M*5IP4M>$"V3>[!GMG$OC$T(T@["?-(5ATEW(T*YQ&2"F;@ERQ3' M:QUL/$5Y-:BT$]WYH!GM(XH?LYTS)IZ\I H6VVZ"SQ@F?;F *Q%>;H,@]!5Y M='R47V0 ;;,<*H0 [ZQN/^##0QEV^+(X>%FS.;CAB0^K>ZN^X?AA9$_B- MXY-)+#NX,-RQ2=_XY=LBUOWQ(06*K M29'W,4FXM?[Q==^S]_SX 4*4($RYW$=E)]_A86!LLI*'X#7SX"F:HL&@D&!0 M0LVU@Y9<6_45*5RH_50NU"W\A#BTJ0OW$W=&:=XHHD9=5"@44MM:YN4B#L3> M47(@)DEAEZD0=Q_X/ 76B_J+A9<]7-SQN3?WK M<3 G;O)?07B8.\3%7T6'4S!%\):P,/ ,^IFPX%/&BT)M=WM"\NG<^X2">(NY MB0IB;]D<%6*L+74P$"B7DR#; 62\WNWT +$OD'57ZUIJ'P_JMUP(S_/&O@LO M1AS%(8]8"2M]?:%FN'T'.9IA,#GGP=SK:L$P7* ^3F,J/J1:OEGRS M:R\>4RU5Z[3$P=3QYO:TS+)VCKNHD[HRF436/-/6)IM"59Z^7*=3NUJ&LMN2 MO#_4]F&V&:>^I%#"WVWLYVRH4S"(O.VIH>SOS4NW;$@LB MJ&JU=CU>+L@*M;;:TJJ(*3EIJR2P10?VKD?;!0&[U5/[_=7^5^&!G0@PB?+T MI?KT*DG:RB]:/P]XE\(.QI"GAU(-;-_6U6)M7:^$-CV^& %7#@"58Y,R#0-:3G'G"/Y@0?6!L[A68 M_*6'2R$]K5GHS-BQRZ(IG]X*A@B^.*8=Z4A(!]>B+ (!!\ C9:E#TC6(EQ@$ M,08'?_/T-Y(,RKF:K55E$[-(K--ZY9\WRI@4ZBZW\>E+TU>_?XHBGA5FA5VM_'[+BV"95$/E M]W*E6[8\&,C($I=^1L!6.D@F=N78SZS]P8?D_68>M#ZX9W35&JV(B!O.7[[B MNX[:ZZY2CI4Z:_43$Q(-:=DX\\1"FM92M697(JU>2!MPD-9<(*TI(M):/54; MK*DHW@?2CD6K_8IMJ=92KOW0%75;W6$UV4@ BGR&.U";O;TF(P>N)'WP*.\U MJ\F$-J <:<8GNCM;!GA#8EMB.S.V6]7D7@>+;5$V=TK-RZ+_M@81-,,CPL:0 M'9;;GFZ*OMN3N9IT#_9=4B5I3ZLF1;M\\QP=7LFP=.?]VB//+NVMMCS'-DW* MA,_8]'/E<%U-[;?6=.H+5(TJ05\5Z-O59&RE@K[TO2T)^GJ#OE--*E3X3SGBB OMO G.J+7NO6* MJ-\-O'TP)2L=B_DVVEHJ1#U9.5DO-!51HUL&FKIJ?QW=J@23J& JH@RW##!I MJJ;5M]+V8"HZJ,2]X/&_HDJL=+LJHD@VL"LZ!R-K\LT>%V==[>8:!LEC==4B MHJA?1!%J22CJ(!=V6UNCK211)!"*BBCW+,\7=;L5]F[)E7ZPTB^CX^:@2[/+ MX9GN%U&Y&>;C;$X+VBI0![T]EN3DHYJ6H*T&M$547N8$;15- Q*K-<9J$063 M1X?5X]H.825O:QMX]&8-=6.^E6Q7[;3D4E9\_/!.TG)F M&H7A!SQX7VVUY-&'^/#A'9WE#/Y%PD=3^_T*CV&/8A,$KGY!I@3F;B(KIN15 MY%5$JIBJV0*A[A53E<7F#VG!N8@CT]#%!_-08)!67'@3^ EEA0?KY+S+BM8? M)9:VPM*@B(/3?6"II;:'>SZ(EUC:$DM%')_N TO:GI<0'X]H]2!+I4HTL"+. M/$,#2Q0HE&)F/6W/K,;286^)IR*.(_>'I_9PS_4O$D];;1H.BC@Q+!M.7UK[ MI3>5JW]9157Q(7]J""CBG#'*V=FLEK/^$Y+;4N (<2#@3<-N$6>QQ[9]LJJU*/:.5S.$[+'(R/UUJ8L7K%\V;6)624774SN#0 MLRH)YZ+@S#MSS)MKE71 U!^**5PBX5P)G%/0/.2=>N9-PPK=G&KO];R\U@QB M91?!L32+Q\PK^K95;E+MLCDW2N+V'O(.GO.I.!1DQDUUJ)59K7#(9/1'AU[> MJ6X^.8:BZ(G:+0E>"=Y,X.4=(>>352BJ0V#8*G,9L!]%A#B-_9%H(NASR*_> M8"8]EFV1Z92, Y4!\CRW'=UY5R8&_-8AUA@>QYOIGO)DO,#(&RY\QZ9K06,* MN:CE*? %*L@1JA1,@FR=7EMW70*71LD#T] ?#=/P#+BB[L!CN H3-'!%D#-8 M*&-D2W"2=G4_GI&);Y*;:;A6 1L;T7?'D_7%FU.=@P>X^IEICW^=, /7VIK6 M;L)%"9CA'"[K.3Z14@G5=B!$#-J]HV30ENH(16*(S\(>;+/4&T+L)8Y<&^'@ M9[)R983R?4 8)7N#\GGR+U9SI$^R!51>1;8Z[E3L>$=!U5;GV7N M57M0(:R.J_!JO2._ME[@G[;SKHSUN>'!V_\?W:$3W+&+V"LR[!?FRZ-9R;5? MW"Y5-+J&_EI(M P*<]&[H:7?W#.?@\]\:C[A+#_3'7*&LQ?_P+GMYO/T MO:'T\^+C3"MQTV0/. /OW^O5ETGT8'+Y;P3F,RK">9<>?WM+;!>3Q=.9"&N" M17VYZ\&J8)N<]B9MB?.RK,< M\D(L7U)HYC"QXHX=D^V_>?UR2YX^B@^:XDX?"P!-NR=58"MWQ3?>C#B"^U^1 M:!Q*8=/2FML?8*XS3#JA.>VQS-1:DKW5%YZM[<]"BX=GJ\S$70A>MYKE]^MY MW;XZMNOR&E4%#S0BYFRMXLY!Z;3DLKVAVNG+?1?QL5+<669^K/15;2!K42KW MP?_23<:ZH.A( J!;8]&W68X@C]K^A'.=?4;3.PIG=TN:W 7?H/A\N1*MI:$U MA2I3:VU_O+H[7*M; ^S,BRG3?Q9Z?A!/)O_%)'3%'<7"I,C4_X"14MR1:UZD M0.)_6#OZ2]-96*>#MJMA>0TI?R-B8N)1!\M.U? MB@WC0,WL47<-^NNI\0:6)].TG/J36HMWL+YMGA:C,;QU[#E@]?W6A%D?61-L M+)H_Y^T.T]3^OG?D!)83$Q- O /@;=.WT@"T=X&5(UU2K_?@81FD=,[;VY;& M.[W>P3FGE*2&?\K;0M"1NL!B0XEW&+N#FRX+2FVUI^VY?ZD8AWTP*?<=H@E3 M:]\-6E$$=]U'<)ZA\8['MVHPC)DNG>";Z4^7V6O>-L/]>GPI!UP/H/+.B;?J M:RP8J)":E"JD(H_>"CIZ8U)?DS5[J5)AM>ATL0A)2DWCG;/GDU6-V7V^]KA] MG_9)[_*YX]1ZB:+8S2BT-,&ZS/(\XS5\SH0RQB M?11]U71D,FF:QJLSV+R&&CT].>1)]P@_1_UA6^.\]'>]A'1RLUDFYY84_*L9 MDE/#%Z^%>O,JJT0HLRV!7KO*.+9^EA.!;*W@WT+H30"YO]K>!@:2O(U-?T)" MF;J)\1**U-U^O7JX2U5-"_'1;/X6ZMPEKC";-AS[-?K3\M]0<4ZY_?KCY_?- MVFPK^<$Z+)Y\"6ZF*%>-\,;*'^0Y/J*?%,.: 7AP3)!/B3POGO%W>,CH96+_ M2/P\BQ*LV]'7R\;9W>7HGXW1U8Q"$8=JFFFX MI')=B$R'S!WB@C5084[V7%2F$VMK JY'_#=Y,^#%K"=XS(D/'AV=*U\*U':4 ML>XX[Q O7G5G$FB#HISGL^T@O> O8K[C+ZVT)[1LCSV@9\-SP&.BP ,.S@S0 M^S2C3_L$S^>P!B%X0M>?3HVQ@:\R]3W?HW*JX,0@F:5NO2LS?:(\K6L!Q;O%%%+A;?Z>PNS-W0DMHONQES4F=T^^#$]7 M-^D5@+M)NZN\[2"F,HS1>34\F![3("_$+6R.TR;INV[I3P3+0)!YQR"O+OTL M&A(L1P/Z.YP@WKQ-? @.4VVTN-+S\MJ$(OWC MK0TV@.&AD-L3!\+%"ZRM2QGUE@A+&#<9ZPW_@N.B1=^7EZ'PVKZ^F> M3X6.')3CWF"12U6<:\6I(TS?0J1!]^'R)#T>@;V@94:\!!%@2_(OJDC..ZIA0>*V5P;., M>XH\N";EP86IV_=B@L#(/;-I#;J/;?P]ZX/#__V;NK]+"Q,,OESX(KQL( X7;."$/PX.DLU M":<89%<[2C\QKOFJZG3/(DZ_27AM!:\A!UZM!;Q6-Z(DO"2\,L.KW>3 J[F M5U/"BP>OHZAV^XQZ,V.'"G]]@'&G/WW$$YC%+AO!15Y M%:%X/NK1_0%7Q\@0>!5567^ )!40.I_@LKC4['MUWLUR2;^G+ MBT%9;U]Y@D39$:.LOZ^,87>4I:40S=,],](=XX8#S*LR=LC$. A:T%),+:W# ML+VWHT_XY3F;IYS&M&=59('YA<1$TMY..7=$4DLB26PD=?9VH+DCDOK[WB,X M)J(.N/H=\7S'P@Z!1>>%/L&V#R54I M^P:Y<2:>1Y?@R@@NWH%5*5L)!P2N8]E>^'K][>%:,9[G,, R0]C>MGC'=*4D M"%\-TS-V6]KM66I$^NH<>.(=1962"&3"DWA^60(I(Y!X)U&E!/V: NE8]@," M4=$DUZ&ED+]\))'3*7VA#/Q;VU>7=SY7_"$"_/(LF+4KQWZ^G^D.>=1=,D%^ M.V*Y]$/GMNO5SP ETC(BC7=<5?R)@D3:<2 M;;NSRSN\*OY@H3"H9=K[;,D" MA7TD&./8W,E\8GLOSSO3*Z>S$C#@RE@4QC(K$!Y3O .O4K*"@C E&1%*#_SG,]UZ0@T$GER+X E! M@7K")9ABYJ=+LUC>R6(IV07#P;6UC?Z, +O1V<:XC@'D0,"=ECOW>.=ZI>0X M1: [8UI]Z%+Q$NA;>_$>[U2QE+SKJ+WXL>S51$"@A28UH.#/KJ MNJ"W1,;/PM#;ZI\.A48O2Y]^#_01?ZP#4NALDDH&TXA"QDG83*N M2")V[GN,BO1_[4=7&8V]#=+L\!3]0$_W=6:,9PH@RT;9:0)8G"S=RF:2U_BH MY"^?J5O/=<\Q@C]/4?S7)=$+G"I_XB:@1^!Y/'OQ878)3Z8[;@WBEVW? M"4714T;EE,TE%4)?OGTTPTFQ([WF]@PSUDDOQ>Z\[J"(NIP M*Y/RP6..S%JN\,6\Q<0R@784<9_9)DJ%!MH4NNO:8WSU"?UC_"L++$2/'VB+ M7]C/A@6+#4NY(W,P,F-,(;%XD:F/_Y\1QU'Y5/U)-RS7BU]>^7E/'Q<6A;3,>6_L(V/ ML3K9!M+N)Y_2RSBJB4EGX]HA)A43A_]B M0:FNW(%!A""[]D*GN(U5SW18Y>J*B03;^!J()QNLZXGY$8JD0%RC-=N M]^MGN-^5:3O&1-_M3JUAACNA.?TO<5SRON/-M/4W@]N$Y-+83=7##=FK8^$BL@'[Y94HM]PV\4+IGY0 M:P;/%\A]T6^XH;++8IZ3MT8YU/":#9>,&\9;8V9,)L3Z%*C7=]KA8^!G \>< M:<10#YBE%<\0IA5[3B@M''D#[VTQYP-FCP]S?7>_R4W& ^W*Z$->W0CB?GSF MN_-2&T%1AM/VR;&)--$ M]&$5F^%C@R#0!+-%_R>(A'"S)\=V75A*.&1L/UDP8)-DO^$'!JWQYY\/9^S' MR>>/2X)K\/4QXYJFWYW;KL& NG=LP,(2XJ+I3X*EIO+'Q'A1QB:$*%BE?[UZ MN$M5.P[7R\WF;R?!!1)7F$T;COT:_6GY;V-,76Z__OCY?;.F\LHN_;JU^?4#?/\,X%HO^#3YE'/Y[:>N)PH-.HF&!5Z*[26_T.(QM M#*T_7_/L>?+8++BDUE\^%(N?9RFK@$F8U__\Y=O>YR4C8[]4F>VIB@LC/>5M MIO[Q^.5#BN6U6)3_2-7$'_$(;8VJ>/ FNN_9U;W)#^(I;&]2 60H%!I+3YRR MAW?(P?Y,=\'2@AQZ#F/CXMA@%DM;'15_'NR'O5*W![^!:.KH3P0[Z9[A;_3S M;"_*@QP X^0$,CCX'P(K)9IPGBH7ANE[9)+K/K#D2]X*,XT)7A#/<<,_>6#C ME"W@13=Q*RO38SWP[F?Y-+N!VP;7\/'Y<&<2S92:F/N 5L3WP1VN#\[AA(-P-S4L>K>3I']I."Q:=W];VNBGKC4,L,/N M;]OF*ODS%PVJYY+ M4:HMP^RGJ_U6>N4E6V=LOX@(-ZT%K],4L6=ML+5>&$W:EU/]U 3_9C%C=(:C M^IYVQO*>!FKSJ-U>1_9 "H^GK57#JL.3)O$D/)Z&6VN'58:GSJ!"/!U+/^V? M:Y*#U5V]B4]P0XYM^MFT,H1M"\(?/<<8XT78'Q$ZHO.&'GX7UW!K*3.NI5\O M*O+.*328C8\\F/-'GVX:JK[T_ZU\WG(<0U0X2R5NKUU6)Y%97(EDB>0V2MY;*JQ#)W5Z9 M)+0%(5EV\";[WUBM6]1R&M:X1;V.BRJWH.+798U:M!$\K'>;VQX35(0/$6=L MN+28CVW,,44?%:OFX.N8\R5V\U3E=49806"8-,(#_R*>,H=)B%I>$]5_AJN8 M]BMM$]:MH&\LN&WB2]@?0JOR@HW#6,X)KV78$UH8B \;2TSC3YVYXY*]'&NP M\K8:U4^8Z\"V,G=EZ\+E%[IV9;/!SLT&[3HU&U!@-"@RE/.$W$P=&@YR[_W$ M1S5TY?$-H;0V>\-U?;@IC7T-UA 0^,^PY=0E+[2]=6[J%OY6]V@4AL1C[!B/ M+,1.B*<;)D1'2 ,$B8A[&\V$6Z=?ACS<9JP[GQA]BFE@+]O)EVL+R^.P>>(6 M!E.HUM:]#=>UE9HX_*]O$4@8FNT@88BWK-*E#R5TF4 &25O64[-!O Q+$Y(# MKWS +X8MI_B;J.?T5!E!DOG,$ISP7)OFK)ZM3. 'E=Z47L5P _(9]M>@F371 M9/OX#FG)E+#N%RJH&=H87)JQDQCAH[FTTR7H<%W': )Y]=AGG\9+D.>Y:;\3 M9&R8V=0LX;MZU!O+>F&AYQ8-S\,97FPDL].?:K-UNZL)\3R@23$%E-M8MG_9T9Q".!J8(G8*";ZYAA&## GANC:D)\?DK4 M9 0;_DZ NGBF?*K*.H&@2?S'9= Q,ML-HI M,2CM4M1J9H\94P,##R:XQM3 ]=@+9G.GRLW*0](GBB)3%(,LFU(;X)K2@<%X MIZF=8:F4&)[%)K ,^!UE.*'#A4;I(-4LO;UGJ]&HO.*"E=DG+A.=:+V*'^*/ MQJER[R.KU183&"Q-XX-^3U_TIP7>8\2N%#7$W]W_="/OI"Z\!1UFI&'XRP?P MT<%;6L;#DI8Z3'Q+]O#T38-!G<\=,@Z8K>@&FWL:IWK B X> N*6&S30.<_@ M#.!7 742V/_$".YD3!7J*VSZO^%@/.OPDDE('IVM;V;M6+]23MF$Y)2#-MN- M9B^YM/H/#OD/"&:C-\-MP.3BIZ)(B'_\3N^\:;.2KY85.RX^>U\]3$8,L'W, M:\PP)]?6+=WAB;8RFQFW,J]_7,$R1&UK?;7)J55>YZ5>">UQQ5O'0)@C65 S MK-O;S1;N/5DD7+3#TRPSX"R<,>08$*0GS'P@L5X_T^WF4IV+$9]>.L8/$$KH M_"[<"?4F;&J+@D!01H 7/M?GAJ>;;&[AIL1Y(9,KV[FBS'HXV0FB[JVF>3A0 M.YW5/>MX4&*\/DYP7[QV8K.0AD:*!G2%FZ$A2B&MI+Y2 M*<=[4 Z&.GB/&S8N7^F,AN[C*Q+)Y/0A@Z[:;#97T15. '49T8SAAEW*('92 M#%.0D8L=(+$#IC7CABX-Q^[5!HP2:_D#:%7BD MDR7OHQ?=,#$#!7=(89L/J/WV0.WW5DM?XTE\;/SU\*[4&08$IT;@AT.7DR/P M'5NRML4^SH4!R;,'HRW<-DYYYT!LBWHAXY"^B6.^*ZVNJK2&$-)7-W(R[M_@ MMQDR$P.N!KD5'N$DMVK0JNG:;>,.4QO=3W,8$*BY&6PDH 7\ 4NNRV#79?%8 M; &7MLN4>(/8=A.F#8F_)5YKPZM\UQT8ASZ^2RO:,+.5#\9'Y-.=&8_!=A3R M#!MCRD.ZG'5$.P+)K0C_3?Z;/ ]:E9O2(];O*Y=AP8G./07M)/'0?!0>(&8L7PN-%FY,1Z<$#\K+\9 MS_[S*G,-];_HDQ=KC^3+T(%("7NM%C?L898V2(8]0&2X#1C>@L*QPCCH W@< M9/G+N0SHK\G4D#LR9:[2::Q=Y(KCNHGU2UI8R';TBMW +G+(][>FV MU<& ,R-L>S;7AF[:8/<%'6RQ=IA: -]!I[=VARD@D%_L+-'RAM7CE$16>6S[ M1??K3A0,%])>'4L8)XK.EK\4Q;1^9'&^3$\"=,-A1]5AADS7WTQ= >!C[\$LR @XFX:Z#D$=@/EEJS0FKEPT+%!S\7'EH$?PUN%JSYZ=-] M/%72WBA>4.U"-@074T.E(.5_].?Y9T6?H&0)6)5.]T""9T45'87QK[HU9E^= MSKT8]6JX W3/!GV-=9LH 8,_W4SOHIEDV0*M8SU[CUQ2"EUK3]*U"LFN*>E: M5^A:UY<'[]9;) A?ZSY9^[8XC8@*GSF>>U'!](G-S>*L0K);2M99.9>2=?;@ MYU*RSNZ)=>0\7H#'%NZBTXAPFI/_GM:7OK.9K#:VI_6;M[L\1J#59F5,6$I^]&RV/G&=CLA3NY8(!Q@Y\Z(RPP\G#,&54%2Z5HZV& M84A($/?S9$U' N(.@)A3*"%!+!J(>0(H&].G(P$Q>N+V:DE$79*JVFQ'\1NL M68&[X-E5@537>]K8W=I#\"1M-N9J2T4[.*'NW?W/P_$+:K>S1_9120Y?(XOI M\41[-B:&AVXQ+770VB/+J;28.ED,3_QF8Q9Z^!;3ZHL?8XYEY^_!]G1S+3N% MZ&GJ#B3;Y6[W9R6GWM:C\'2'.%EK_;U$6]6:-6 /EU8A@E7PBA0XF6G]K4)3 M.YJT"FD5F:R"5_[ R3[K;Q6P!FOVQ;>*.BE-[*V+"_152V ML?ZC2$?!HLF\SH1> \S2_KS@^]C QTMG6<]_\S,U$SVF-<=X/>9SQWX#3'G$ M?%?^GM;BETU;O8A./HX596K\>=#?SM@(7CGV*@ 6$WY0 MTX<8K8AE>^P>0:][G9K;0Y**J+]]#9_WHA+'_5G M*S"MB;T&G8(" ZJ\+M.>>'B*XFPOV7$J.\$/H0+@\ &K**1.O49&7ZD=[C;=^@?1T5["8PJ4 B2T# MPHG]5S2O=[JWV(EL:!FW(K$*H66,M9RQ8F=L*&>L7C/6;Y8[8Z*L5$MO'C7<7XVI0PC5^$;Q3L6! M."Y7J%OG:'U>%TZU*U2OT:UR]/"L,F!6)OSTQ"1[#916K'QMXM,46L.5F$ M>TN<8N5;^#M$;')O<6YS2@3W3TOM0ZI]?Y&(*.3I1>.=;3*A]H^\='P3.3JI<%N]3BH@D];K:R MQVW.I!Y@ZEHG"7?03Y@:[BE^FO@.SN[)E]ZIMMP9>=3.75@X\78TJH'30,*I M_G#B;5)4 Z=A*IQ:E<'I6/8A_J02W632T.$-]:>$D.6BCT;P+$#XG'S :S1. M/2$I(SWGJEJ' !BQ^:=_O(#9C^PXIRAP\[2]Y\HJT:.!^"CEG>.EGJ74':6M MX6E/DHW7#*6\$[_44Y?:H[1S6B4E?IU8=\&/!DH33W&_92$VO1QO\:P$<)4).!F\8-/Z/ M9PA0-_PF@E>WWEF[]?"SFZ1$B+3$2;C#$W3)XT,REA2J-,XOB,'W23 0_#R] M/U4>'"J _JZ\&\2<*&/?><'O*60ZA5N$JN@>3$=$14#'B?6/XP,ZR.=A6]@' MK+P:WBSYA'0/*M&]S9JRDQ^ 1T/9\V=*5A0]9&S,@AKA+K6N+;3N9O.WL+4Z<879M.'8K]&?EO^&3=;* M[=-L[N+D?_;(RN'B[O/BFZ^:J_NV%'%JYQ4# Y-E:?E1EA#>/:_.VS$BS1 M_M:D_^&MWH(_G2B_Q?*JHB7X(=FF"S8K4)$>>W)0[/XDX?FQI,'7I5Y46@M M\9 BAMFE$XH"BC/;[=.N$*+30JSA.>E=+F2>I)&DQJE4!1Z$(Q[*8ZD>^LJX MA&7FLWWFP^.UV:B.*T@2E#SU_NK8KILS#5('_9X(P:->8-U[XI-1D:7*',C= MI5+CD!KV9/ 6;!".>"A%V2/:5S=WP9F0$ARZQG6?\R#Y"4V MR;>&&46(1TH3A-\0RJ[+O(>4JZ2 MQ)&'/#(4H7>UBCK:T]1FOTRZ"BDAOIV$>$D97/8G2[,2'EF+".E=I4>*P]-A MF5MIAVQ !486$6QFBV+YO.92$._!1L.(*A]CA8](B* E"!&&:70MW1@/4O&, M"(=L%F7%%6&SKT&Y<:7$>!(5B28[9MM9YJ[68K92P6NN>=LMD MISAD Y*KM6I7:^L-8]UJ+4%?UVFV4E=KB\)HN5H3(:X(FGUUFEH%J[5BS":Y M6FOE6J[UU'Z_S!8",99KM3E9^Q=Q*0F1-8FQ[=C*"Q("R>6;F Z$UT(N*&M?%7\@RN>GLYNE5=BGB,R*NZ-294[F)/'LV)$(=$,*7:+?8VAYQ\ M:\"N/+&K4102-H4KN1)D_PEHD958?6QZ[^# M# PJ8Q7%!6OZ)YO!)RDUK>WI)C+=!HQ$5.< *2=U,Z2-=2/>V(GRP3@EIRH; M6/SZQ)A.B4/9>Q^)]TH(X\:%X?A%O("D-R369?^:Z\9$>7QG-+>!S;JXL([( M:1=.J*=3*3M1S:BJRNIQ8@B M.S9!#E*;U;;KO!7TTG,CJ'7F7.H:RAV,FR>406^['L MLH9C=>.0;Y:GRLA3#,^%9, =.\2C'XC1\6,J8;^Z(7WUS#;!4FG(=WW'(93H M=HZB +;O@OW9KZ@7D&#N-RS%-(B/UCO7W\-TBB2TH^D,(8$^7I]^1'\C[JFR ME'_MDGZES/Z>F"'6;Z"YMY!77=G.@_[VYV(0X!=\OY^SM9;+4\)X:L&50B(( MP)@0""<3A9&3&ZXR]YVY[=*2-]V*-!T2&2+,:ZIM#:OK YW.O5P#'.R=?*>O MN<-.X[![.ECU2Q&L8:4VVVEMT6+8SKYH2)FG3C;A).&M@.Y=P;2\PFK8)=;R M(MRRFT3+^C!^^ M_^DN?C7!7WW$?Q_Z:"V$'\) 2?5A7 4'!,,CBZF0S7JVXZH8[\8^AESPEU-P M*&#O]' Z7$0S91@6,?W8> ,R(=(^_A<%:? &QX6(BT5I6DPL1@\TT9OXI"_ M?+@?[6MG*0_^I,YSJL1-D)ZM M6YB06\D+@]G F^-^U"2IN[.08PPO3+\1:NU0R<90:T=57F?&>$8%],WZ.U9WX!3ZEEWB8/V_HE^.\U^9M)X7OR&)5')!9F7L/3QWJ\MN+=/ M%T WD%LY#S/="K93?]@62UIWJK_:^]*F]M&DNSW^14(S7K& MC@#5!&_:7D=0LN1VC ^-I)Z)_=0!D441;1)@XY"L_O6;656X2! $00 LD-4Q MWI5$ BA4O3PJ*_.E.'C=J>-!";V6N5). 6]2&?E^X"TC(3([A$OJT-S1SOL' MQ/:I5";0Q:X]W?Q!K%"NDP1!#5*.V!G!5$V3V5;)-ZTECD7TBXEVZ449NZ.EHN96U##Q'*B]S-, MG:':+;5T+4%R:TS/?1";E"O95FB;%$=N>;ND9L7(/L5=TK5E3XGA>F"83K@= M14G6K(AV%!TM*;^\KD:/PVU?NZ>IK4Z9%3XGV;SB(-8Q*=6_WM8QHE%+,HV] M]GF[4O2?YG9MR_G6J5"9%&(;2ZJ#U;+W#1#4(!9T7M92VVW)JR=.\7A)MK00 M"A,M>_&XT(:V['.Z;N^\66;'*%E&7G@*Z>#TV M+[UR+<4D,*P9S=HFKCO'4DH0&8 7_1Y/ )\H"\,T%MYBM: JS">V?5(0/[,8 M$Z41MC9F-!DF3[3&^ST!0.$+)C4#/ .9UG;1H'%%%5J=7)6;^YO6:NJRAFJG ME5"N5W9A5B>I!K34/4[>BOLX:6+OK=I /IPH FE.AW6^?=!.6ZK2*\FW2D M5QCLA)JASO!\N)Y$LE(E?HA"$_)S//IG6!"BW'SZ]MO7[7/=PJ/C_V]2?]+"IWQC\Z47Q*7Z=>/RO#DTL&(SR.]"Z M/E9!J.A.X/>[+[#'&(-_Y!IP0XH8.?- MVQK5KU']'!2O7=.93M;(5VR6-Q>J83Z8+%23A6J"E#+QN-6A:Y7DW0BRG*N:MOS[JM\FL,P3]HBW[.NFM=5BEILVGG M/4E%A65P\*'GYM_ACO%\)#MNPGD"P-D9QD/W+. MXRL**1UMM9=08B#E0\I'@GRDG'+7"_/]KNRTG"]'.NG1F'C/$NS#Y/HP?W[/ MI.HOQ'$(^;ZD#4#-1W!,K@T3>Q!](0 @)SF#6DO,H-X]@7H%"K0$(E=RLVLM MXRX\OR5OJ[7)05];/97!3\6.1,;TW2KTMB[F^X#^H\O +-&8Z=M_DTD$+UZ9,/I0YG3%4B[RI&,P_ MC,:;@L)CE:W+N4Z[@3V1F3&>$R?6%HQ=0_\4OPKK/Y;(;7"NL$6AE>18;&B M"3"P$Q>Q%UADF(:T%BM>6M!4$ 7&",]GI>U9.F$%/:UXX[ '?4[?V9D1XK)F M:4&'TO$8B]C91!!]/ ,0+G4;.W'0&:(U,+#781VT=*J@T":P%F%PG>XXUMC0 ML< %]%ACY2+\'*["#F/SM3MBKU3/4<:Z1SN08=_UJ?$3;K1DE!&T%=P#7* O M#;!V:-'.E?\@,AZ"F_&O\EI\WC!LK)LP%WBIWZN+!%W2L 0?N[8O^"OAW]BM M' _>7L>F5&.;K1QV7XT^Q0D;@XUGR'5!OX+:[B?V12-TI3Q'?\06:AG7"IZ& M95'(',#H!=#3P(%Y\-S7?K/ V^^_^4T"W^"4$Y>C DO_B3"D^>L&G ?MD8 MFM)9F[>H7&127D>B(R.3;).E#6@Q8S0;_W0X$$$"$8BPU!ZV*Y[3'L3TRF@C M-K8<5+'A*JVOSJ:'6 \P8-VGZ%CH/\BJQ,%+4NT0=#2GGY]S9VH%+(FP8-^T M Z\8T1G3 K1Q8JS3HDF+P=F @X:+3#>M#"\@$ FG@ ,IJF;A3]MI*\ MPR#K+/BD&W.JYQ(1 //GZSM*_JMKAV M"02"57JM$B+&#C(O6$C@#B,"7ZPQ(S:E9YIXX^_3WWPW,,MA9K"&U)--H@$N*<-$JP?@AFJS6^8)N*PHI'>_WA "%5W7"Y0(FK%D M8%?93W14AN2ZLPLRMS@48-S,GQ8SJMJ;/8F.Z+CVE1-BO5)#9K M@\ A\B.%C:$?=J))2C%KEIXX(8+TGUK:VBI'= D&#F/I&U.45L/K.;.85:U4 M-U4F:AX/XE<)O$LP?^4C?JBV6[7)TBQR_[8"_\/\>A(V/B$(&3WT;2@TF\AT M:V?1!0L/K=+E9[/ 5)=$#J(OV6+L'B7R[_'"[Y"3>*K3')9$:W2G(K>V6RN,KPYE'A/M-'B2[E29U85TS?+'.\=8@IODN]X ML:GVANN-4&5X4VCXY^RGYBG1@.VM>F M=,OL$"2CG?5%>"]7?HIX"&]I9;I,,NA96= S8OQDV%.T\$^OD.R1C-HB6P1H M_]W6H"M9:27\,\&_D"06D>#?5S6MPM/"H^+?I(POY"=E5O+I5B;&D\^@MVCI',/"QG'_C#%.6Z MX3\XC6>IS=D#_3$&9*,KO\1^G@4^T,WHTU7CXO9J]*_&Z/K^ZO:MHL^?]1?' MAP[Z&":)S=4[9488"TUK^?.=PEVDOS?I?TG>$__H#-NK)RS3KQ^3EPG!6,PB MW7^__&*8/R)S&[*S9ITT"O08VJ+P\Y&9])VF7/_@*2;^H9Z^@:_^V7OWEY5T$NLM)'-AG.-2('^B/I53) MNQQ.JFIV5,CB-TE2-5I8\.)_Z7Y?AUC#BGJPEHF>NM9;*678&!?,R;T47<)< M#69[E?:7K>.QFVB(ZB4@2@L1I1T449392R8X'EJS?\;M(,$^#N9Z'HC@.OU MO<;3A:Y?L!KW%^B*-6C*5XDJ-;?PN!D4K*R+P$U]$]!KYGEOWL^NUBWACE:J MY=W%:UB 6HY7>F#$+F?!8Z]U0/X:"9ELD.DW"]#(!4%&4UN]^BKCFCG+FY7Q M2A]2J8OS"996@"[VEV(_N6HWR^33E(JX&+RT"E#$Q>"ESEKX:%SBNYEEN[0V MI3YZ^/@KV/KM K0Z7=I[6-G]Q+1;(8^.++.L$T@[!9B2@D#:J9"[_C"5DO7P M^^'NT3+(.AB34ROXZA=Q-KKG3D%M=B0[FX1K)K@6ZLY,6>K@5@ P%7T!;^(ZBF'2RK<)U@XL ,6>31:P?\-TH;439IF< M)^\BD_.*.B(*>V%(4UN# QZ"G(2KE+EN(4F)3Z,5#:*KJ5#XSA?NLWG% ME^W:LA-I+S>)X5_$MB9@D%,!^FK+!1:WM MU7\I&1N9-'1X0QT,E$T6@-4PPRQF25&>%JK-XH'Y7A=9/46C=\[94:+6 MAE8&- :IMBYL7%8Y-$["/4S:;TT,9XP), JL*I$;+'D7F="3U%YH/5Q^:O Y"<_FQ/:*E8M64NNB;)HY=;]0B'"U<.O0E+I9: "U<^OF M\@'40>U<=5Y33#L+UYNJ! KW/SS'-:8OD>>&/'\#.HC[&5'TQT>;/,)J*E// M!33P4\ ESSNB^2LLI5#1':S-2(G+*M'V'PIJ+/\UR>+#,[&1 Q9N.*=)BZ]C M+2/>;IF*4KJ!Y6RUA*W>OA#'(61[P[>O.DPJ_/^4=DP=V8Y)F#VU6UF3%E'; M.ZR)<$UZ/0@,I-/L$Q*$963;EV-8SK!Z[+5>9(,GV?\EXT$"Z.*VX#MIX8NJ MAIU,V^HMR?F!<^XY?TSF3^1KW#_F2SU. T\=?/B:67_4"ZN6FIG M>,#ZSY,(B#(-W1%<0Q\Z^2%1B'IE*67L0'O_;$E=?*S(Z9>M?G,CJ$.U;NN MO7!$\9$KT+I=J75WEYU!J5IW9I-\O22DWJT!=H:5Z-W<&&JIK;;DJJA"\_:D MYMU5>KK-;%E7.37OM>79^83F@#6E$CH9H9.4<56XXLT/(;6IU3?.4">/MR_U M[N["DRVG*J_>-9YR.KQ2[0J/G*1DJN+5;EX$:6J_65^FG]JXN_-T,H4 M7MEA\(C0FON\>(,9RF=NVJK6K;"+[7Y=!H4K#=^Y#C@VGUJS^>I==(!;"L2B MM;OKJ]/IILCEBI5VK>4[/H9!FBW-4;$6FR]:CY9@)1.&4]H8KEGM_$HCM;"* M?J8_D;3*>=-R:9&\\D"(J=ADXHW)1'EX41:&:2P\N [AC+>TX7X@6>@LZ,NE M;?T$07/)_$7YGY2$O7:_@*8)=WP(G\VQM0B#&+VLFJ!+.7G6U "\XGR.XYV M"T0Y 0(J O#KB VND]D8H^F<4T'P9\(YCZQZBN@>,X'#+3J/Y.>2F( ,UE<3 M8.-:NT"C^%YU5VQ .1&RG@_A(T1-?Y'B&Z;M\R+:^7H&:O@BNCE)?9E.4B^J M9O@RS:I?9MU\!W(+,INBV1!"*M-MZ=_2^+=P:M*_V>3?A,W3DL!@G@#CYX?@ M#R$_:0=;G[!C8CSY'!PWGZ[O;U/KQ'UO!\RSS_@1N\-LVK"MY^"CU<_0YBLW MG[[]]G5[-7IF)H^S#_QABG+=\!^C?S5&U_=7MV\5??ZLOSB^1X?;9I/$YNJ=,B.,QZ2U_/E.X;O^OS?I M?TD! ?[1F?)+XC+]^C%YF=!'+&:1[K]??C','Y&Y94C:9=*H\,70%H6?C\R5 M[R0YK3A -I!P$.%S]N#$\54.6&_[2QB^0+JHN86MG9.Y;[J)W#=[NKP<*+EH M:9B7N+XKH20Y,?;E.O=1$@3%QY4(C&MR?4M= M7^W0ZRO*Z6J5[%FC\1BF9D+9;$-2A\9 Y]?G';/8<>";)1<,(%&#W: MA. *\#3HHN1KH&K=2C/9Q-??0F(H*:<^7657AZ&AVFZ56?DD2YK"4*?@^O=( M\I/3)''W='J4Q-5SG5#DZ">YY*XS[ M?;RA!>A"0)N70;S<798"TUR^3GT.( MHM@"O7SA1>?4$H!;N=/5-PM3+C)4;:"V2F5#E6GK1X3:;(TE2T8M9JYC_*8& MQ1:"9JZ7GS]Q":9.-TR>^\JZE6&R!#8X5X@Y(:FYA&O]RC0E;%5FDR?#8=FT M@$6$#/Z(-^>(8@]9LM 3/T2X(T3Y9KFIN=X:R]<),A83\[0J6:&RL\$NK<7" M<&G@;61.@E#K.$-B6%\FANV=&-:K4V)8!"LT!3B&%N$RPT2JR>$(E#4Y*V-X M;WQXC^D'L=0#L.\6.^)YR\I+Y@9F&"/OPZ,^?_\+7@"0,O#J(*\6?VHUM?8[ M]I=KVP); *.C!@'^OTK- B 8+GY)-3@+_869F >BZ,I2M]T7O F^AN4YBN,9 M+LC)>*X;"R8&&/^$WZA4V(:#Z7^\1@:P9YBZ_0)?\6R'GGH\\/.M<^4S_\[2 M,-$NP6>G,71SF%\"RH +P%Y-V.$//)<-BE9-\1HMRQ2L@$BJE"TJY:%N*B4\ M6U9BA\L1+<-F.*Y>0'8!NW]X)ML7/1ON#$,X,PYX\,+&,^4KF>!+4SG].+H+ M?Q__Z8&:H/CV92M%:J>@.]P9$]P_/5!'X NG]_B-5.I$E9[!]EF36 8S>N-C M[J%O3+RQR5SG56MX0SS"91_ ./R*\7]E89WV:9]6#Z7/DO;CD:"Z*C4QQ]0'1&B0YK M;Y.E9=,J4WA]PYI0$-B(0M#9,QVN"I9^JALV?[@[LRWO<0:OXA P/-CQ&8&J M&"XL-DX+7 )HH.^#,4CZ&@YL;+BZCJM.L#!CF[6%AND $>"_K#^7+\O&&0LG M=JR;OO68HHF-O(M/?J+@N,%*L1>''\#\XD3@#+ ](#YO:5M_@)$@."M/Q,1! MV/XWL9VU\8/,C9D%,X=5M..9 5L]^ @,D >K9]E@$R,7PG+!#@AMBO$7'7*# M@1 T"G%<"[!VKF G;8\987T.0H3))4]1,.N.XRV6=.[0YF&5#CX2;D"+-,.1 M\K&S+S[:UC/@E;_T6'=FRA2;9ZMK$P(/GWIS>+4I6% +MZ76@S^OL9<P]G+H7\PG$;,^,< $TPWPTK-AC;#.&3:(8*WGL(UC^ @@^6B" M=J5K XAETQ<6K)HI^7C^EV!D#\0D4X,^V]]ZXZ6\2)A#021C?HC**U19,&%T M\F"S?06NF_5"R 6;NYNY;CK).^V!W&GOO=/NUVFG[4-#X=A0*#B$VV)77%#/ MP'4?,?X+W/K /R?-'>HT63CO]8\W5"F!WH4I;3@S& 0::)Q:ZC& Q7DT4*0( MGWZP&NC,V<:#QU0F=QGH:L!FC\ )B$C L8?Z3;.!56.>GSU6O^^64<[(:#% M;7WNL&ITL"7&/&/A-1H?F^"3QR<@3F M=3??;2=)Z+:3RO%W)4GX",(&LQ$='([ITG+@$M]2YBK/;YZO9U)D(DWHMK4" M2!/*?+$T-H@M) K==JL $H4R7VZ]:4- JA ]R$A50$?+KW!P_0^>+8_1@>L/ M"L(A\RDX,[@]FR@S G[^3*&_TMTGJ)1'6U_0J!:@#H-5Z!"'>I_>:&PL&3]0 MQ K@,Q?Z3TKS$VZ&# =^61@NTXNP:0.W2)E;#MV(I:*^MX^NPCR:.WC1S_Q% M?Z7O^=E_S1OVEGHG&7LHT:KR#3:R?WIPKZD!\\6,X?@=XQ9E MOTW>,:/YVO_0-Z/^QV]4Y7EF@/4U4%*80T%8W)B8OGEU=/\G%O# .^I/NL'8 MG/!TE4>(B#\V+A/TV4M<4/ FHLN'%]&'X0Z3&$O77U\>:S#L8)\XCNR**"^2 M@N$96\'H!NS)5ZYB2 ,W IT;FP?+[4A,&0=O@OB>*S=L//ZKL7&QF+4)DN7 MJ]B\W S1[=& M'_"Q<(;T4 3#&VIOX2^D^>37_E3?D*0C:T9BON,S"=LRA@D M(E!08>8>"251H(KAD?KK&.,!?4"2-$+T:O_8(/"%05OSV M"VB;3.0LCZ0GX MY@.T'N#5 GS%8(J*#&Y#^0:8E/$P&XXC&M5S"-?B_"QD/&:P0$/QH,^I?7%F MA&"8<.3NE-'08M[R=J,?#>KZS^2AN^07#TV5B\TJ<):RDHYU5TG'LJ>E?>1C MB88[@D* RV"F$_)^=G'-.N?K;0P#UVRKV[E[]FK%+[>9S$N-.WU4#_LA;7@\ M08EC*A\WJ%0P5S:HNJ_3&M8SB)U*SS:IJL?89-1ALN;&^(7Y2S@-3DPAZNQ7 M%OH#W8M!2GQDLC!95 .P 0;2Q-&;(DTL;&RS[S#N//2[6024GS"P$QUZ,8V_ M.G3F4373\+;C/X:^#@HSWG-WB5@E?-M)(E"_10)](SH/UY:-O_"_)V7"[0:: M!.;&;9+0R9W'5]5+I=#:Z:EFF;ULJZ2].$V*5)%CQ8 MV8YDP9,L>!'M=:T;]G_0.H19CAL.7X;R\&7OPY=!G0Y?$!K*?_R#\>M@9_G9 M= O$;]M$]B6!91.#5&.#4\RP$]*S>:8\#=P%CJ0MS5HT?<$R:.FRZ?6I9K M6O0XG;J:<)M'RZ;GURMI)W,"UA87T$]N0]_3@M&ZW"^EWS+,I0=C]G@6N9_: MP6(-X>//E5\-8N/A!DU&H??&G>O4W[:.[B[3S,\@"-B^-Z+X^LJ>%Z;41K01 MYAZQ /J$GL6 =[J2N1)F4SC> \U(>,*]WNI[\G>$BX(7TB/>-Y[R,Z\EB"%<, S;T)PQX@A(BT18A3&I<[5T8K MMPM.0^A]HK=Y8:%'_C48!MNR4FYV!K#]H$!V?&FN-%DT3GRIT=, MV)PB:)^LN<=2?6$O]P3O1%^:)>*RG0:%.\8%X/\^6FR;Z1A''V7> =(M42%- M#!HY")0@HM8,?WL 4_Y$?3$.]!0L^?EU8*"H*@VR#3DX =KZ)LBS?"9^[XEG M1U5HQ/Z%:].F[LI4>TILULHI41"?VL)*[N&*V,XB'!1O MRU!8\BXG<1=QJ)U*%)?@'RT@C?L^C2%]^D=P(Y]83=4T*3 L.J^@Z)S*O?;F M](/?+U@D_0X#Z5]XA=?HI^$T*-O.Y5H3EZ_4Y/P>>/ 7+\&/?J3[A;IT]";! M9Y_IQI%^T%J_122:?>W'Y^+71^/=P2:!W6A;LH$/KN!>WZ?A'[^1C1FN?Q'; MFNC.;"6Y57%@WN&GLP\-R4U;+SE(XJ[7I!QLD8.T3.]0&+12N10ES6Z^;76[ MQ&VUO,M)W.4DO%2X^TV\WGUS+QE* ==Z(W=^\BX'DJEZV*L,.S_9N*DZYS>I M2X._"=S#BVU7ZL7F:/*3CQNV(WM'U0_B285'FH3XILXH_79].Z/4PZW,8 )E M=ZL2%4)2L5Y];!Z6ZW-X\'C-AIY)>T9NFFJSLUXK==*V3D0T]Y.J".MCWBI" M\U#M],ML/73:9/T[ISV'UB'H6"#O$AM3)BE]I?.L+VG*'$OZCA9T MQ"K__ J_07O^X0%/*QHF6AL[BUPX)/B.3SEHPB=U(#;I,8T2N6%L&7;%ZJH_^(A?=\!TOU MBV'\]%8L<&"U#"'!)J])8XGK1*[FT2%M<[S];N_LXC,&%7JG':8$^9^-LW$J'FS;4EW*=D?IE#=T:3J9YCL MD%7WX25@RJ4YV=8*(S/C: ZH\1.Z!T3.>*Z.0V)=5 M^M'$:Z1]T>=CSZ\#(93.T<__C]+4PYN3L>ZXJYR^K/:(]P6(LOE.=4J=R#F' MY[QT("361Y1MA"SC\IV IL*+&,LRITKR)\V)\U]P\J((@3XKZPO?@*>ETQ%1 MUK)(:9;_]="5C 4?D =$:&S"K5%^95)NZD59;\C<<@K^A*_D;A.5O.)!/&ND=L.:89FH=@(1[ M%+[,\;VC5H6AT:_ MMB$,X&3Q3'BW<.?>H@^WB3\6XGRR+"'&!'?$)E 61>. M:&).PR'CAO&S,3,F$V*^]6<3[NP2OS\(YWZ-5)2A&9E;M D0=R4W0#$P9-OJ ML*I?JDBH)\%G#+Y_#YOBLQC2!K'EP0E\._%LG"-F2D\=%3XLY9YW^PD)HNWC?@Q3*8NG^U=#]$X*7 M-C'RIP8Q-[Y+=AC;*XVNJ>$?0='ROR"7'T\6XELV/=ME^B M3/7L.Z'X1I?V 39G/&9(XW,SP!F2\'LV[ZSBSBPG6J/OQW7B#UGIN186@".G M<8-& "?D(38*)U8N[/#:ZFC\D^_0UB^DD:EP#VS9-C,@]"J^WP,=%6/AC8SN M!#J3WA%*VW/KZXTM[4BQ(;'DZ=J3IVM8)YXN#A#EH^[JIT[(M:ZU^:F,PXY2 M,GBV_=9*9OJ&K[7//J![.R=!4CISA;F-Y)V^F+FGLN>P=3H1RWG+>G1A/TYC MN>3-J>$J:X'M!BS/1 M)D&><[S!K>'\N'BY(.9XAH=EU'>] T?3X6/_1ER^?TBX#+<4+"#-7VKM._S: M3P3[$"QGQA@T=]"8@UZ:_-&U91.8XS7?^094_GHKK96'WA ;_Z _$BUPFQNM MC'YSBW5B7O&:7VWT"&*>HNTO^)Z-S5OGC <\BPR"G__=] 4P@%5M\%. M\QA5C18-F,55S2-&1)-VW&$:0E[,9>]$P3$WRKS\1?DI7V S/C>>R,3GG#HU M/V7];/T5:VD[9X$*.CD!HROH-]KP%0^+4US/$_'-[Q/5-\4'GM]/O#&?,[ / MH\<7LB!6"U=S"K2K;^A_LUH*. M?S'@!ZX_H=W=>$8FWIQ\GW*GY^(E;ADN7H)P%(\^.)1T+CDBU9(4=\+4:D9Y MQGHGR3-VG)QQ)[N6!Z>)DVM9V%HV#[V6&[;T21=&P/'SX2EVK M@F9>$EO&@?T-G%;JQ!X:W7)!BUG05W(ACV,AI60>V8)*R3R2A922>60+>G#) MW,6U7UD[^6L5OYX$BQCJ5D]?T2OV!G0"JK]!VUUY0^GO@:+^D89V_@":#Q M!N<5=T$I9DM?F]-[OZI-;NAW5_9)QU;9]E7^K NEZOLJ@%6J>N%5?49FCUU@ M)X"BEYMYP;7=5O*16FF[5D]M=N1)E?C:+NFD:D_8":#MM);P).Q'475.>S)=[,I],22-W]3LK_E;2H57& MTU)_$?CL"V4 NFJ[)?U=\0U 1CZ]// 3P!!TSBMN92O=WMVT7](!5L:34U&U M7P=9@-6VK$:J@?9+.L8J"'X":+^^C'&*K?V23G0RGJ**K/U:ZB"!=59J/]&T M7]+)3D'P$T+[R:/\,F, (?NLW/;OKOJ3CK>R[;O">1=&Z=.0&VSX*PZZ2:6? M0^DG'7#M#3P!U'U+.KMB:[RD$ZYL>RTQ-=Y [6@51Y>DPMM=X;63CKCVQIT M"J]S(/^VKL"K6N&UDTYVLFVOQ%1X?;4G/;P:*+RD(YV]<2>$PI.'^F5NZ"/M M8XK=T2N\*4F4<;($\I7]^$E+-A691Y M#%0:Z]K5#)Q$CDOP3QL$6MSO8ML8TJ='^NP(G0*S?<7;L.(3R\..PBM+7BZ! M<<9A['SXDHW]4@"[A\+>;:O]89D"GW66:W@$DQW(0IBYS<-+07,G&Z6F0":L MB1EAS?.#>G.;IUK@D^R3T]2=;*R= FAJ[#/4[*GM4D\LI*:NMZ;.1@4J-;74 MU/73U-G81@70U)1>;JBV^V7F9TI-76]-G8W"5&KJW30UBPS]XCY8DQ?\38>O M?E#^IBB*/^QOR!ICC/D?$Z,W_UP9Z3^S]-&-=\SJ?.STD" ZU.K3 M)UX2V]4-4]$7EF>Z#BZIXLZ(\D)T6R'FA$R4]V01'<9;Q3!G,!4TC/61C&D8 M4FEKJH*. LP767QX)C;,-!G/=<O+2)@X!#H)S[\Y&T%-6LQ/N)\?0!5T1A?V>CP3_2GV+#RK;EC9N7 M?WNZ[1)[_G)MF+HY-O3Y9Y,)%[S_/=SL8FZ-?YPQ1=!JM^!_8%4(B.(2[N+: M'CGCB*'(Y?!'V5/&9#[GS%%BP*\(OS_^-.SW'NY,\MS=',"4T]^ MC@G<;@FZS)GIH+[PDC=OM[Q#\5.UMRZY&\_(Q)N3[]-TK8(H6%4MG8OKR]YU M_[IQT6Q=-CK:U:@QNNY>-T:#Z\%HU+W6^A>=%;U#AVB /S$9@2Y>: MUFU\[, .Q>M(5S<[#4NVQ>:UKD<=*Y:&M=5.905-2BP @8;_EE<#AO447NK M=%^MN 04(PJ7XF'W58(+D>YQY%*(T=[R.0][^) [@U?9S[K*S;8&1830VZ@J MJSGK'5L("_-_SUH!!*+:%WU58E=XOEBP)<$B/E@V\)7LY _N M#9:NVFW)G83X8$EF]MC-M=L;+&VUU:^81_14PX:&.09W6SILNTO*UD;0&1PV M6('/= &^@,2,GG1C3M,8K$MKL;#,.]<:_YA9\PFQG0O=,<:YI*FC#KJR!Y3X M>-K0X7DGGZX*/ W48>N REGB*2.>-AQE[.3VE8XG;%0R5+L=&0(4'U#))Q>[ MN8;5**A.[X#'8J<2\*,+I)B!#QGFFDIO1K M)1W!(\;/!F+V0AS!O? #ZOB 23@2/QGQL^%0HQ!7<"_\@#-8*26SQ$\N_"0? M8A3C#.ZK?PX88Q:4CP,>37YBGB7Q2Y@GQI-?E7SSZ?K^-K5R*4*RX-= Q^XP MFS9LZSGX:/4SK(96;CY]^^WK]OJHS+7-9Q_XPQ3ENN$_.(WSH]VCK G!& ,: MC)5?8C_/ L?^9O3IJG%Q>S7Z5V-T?7]U^U;1Y\_ZB^,7+*'C;)+87+U39H15 M=K>6/]\IW.__>Y/^E[0EX!^=*;\D+M.O'Y.7B9$V%+%(]]\OOQCFC\C- CV&MBC\?&0F?8=7Y.NALI%5^:=0E:_)JGQ9E2]77%;ERQ675?ERQ0M: M<5F5+ZORMV]>A:HW["6ELL7HG 6JRN\,U.Y0YD?6#&%)N6U:&#?71*K*[S;5 M7K&EA9%T3IBJ?(:POJ[5JAK!^4A*8%L;>Q6GA@0CK'999Y%22 M=&55_GXRM;4M3A55^2VUUY0>I?A@V=!U9B"IK\F8H/AXVG"4L9/;5P6>VFI_(/>!B-\^P&CRU MM/I2.M4FWB>+\HL4K@UG-JG.9"5%^?+X3WST#)+/8])=QVHH'>3&0WST;#AY M2'44J]$]DJM)?/0D'T6DNX65H*?&A[ZUB2#*HOQBA6G#44TA;N">1?G2$:P! M?I)/;XIQ!/D/2:)1J&B)\NGR*?(I\BGR*?(I\BGI#\EQEMS\:^S-?>XN>CX8SGEN/9Y![N?C&WQC_.V"ZJU6[!_V 316"/L\2) MM3UREN;=[E>\S[9TL>GR7T+Y_/DX_?=*61!TNJ[^G/[^^?.9XAHN/CLRSV?* MS$:(_1VN^47_\-OUC7)_=?GKM^]?OG_Z?'6G*I^_79X'- K'.5.7EDG9''0\ M3;@V3-T<&_I/=P4M._V61W$V*6Q5W,V$-\ M:"HVK(WQA)$M%7R1N?4,(DPP0J>,;3(Q7 5,GD. M N[^\GTZ\M_HVK(_6MZ#._7F_JN#D>?%S*/)'Y[CHKYR**%?LGWO)]KW ND# M]W _#T4-6 Q34Q8*IGTCNWL3%_[C3\]RWZT\F?TQURF\DK #\3F8&+UABQE- M_U^]V+?DFB:NJ2;7].C6M"G"FHJ2NN2'$+K=5Q7DLL^IMZ*[R@.!O^.YHV)- ME1?P2P5/8]J)+*;U*NE(MX GIIT)KZ2V&YF+1<(HBN]\,5?+(?83.$ M.62!B$11#A0-FPDH:AX619V!9+^H&8JT=11IPT.CZ("T&"=1K!;\TP:!&^;O M] DLTD/=::P.(F')/?K6@RSYA>UR!B,B$RP:=5SX M^]7/)3&=?,+7&LH")?$QM34K7BA,:7WI7(J/J:1,^6:(J0)#K-!G(LQ-POR3!\\Q3.(4;/85?M@?/; I(4JWWTE?R=*:>72I M0IW$556L9Q%)]<@CU8H#DP8_G7UH5[I;S#R]Q=D1B>H=1I<&ZJT<456 ^B]B M6Q/=F:U:J8:0*"X:9!+*14"YWTPBK"K6Z3IJ*)]$2":>ET',26TS,E;7N UK M/+$\S/9<6>2J3TNSCRQ-FA-.58MPL?8Y5>VWRXR89IRU.@;K3P^]K5/+3Y+H M/2+TMD\M+ZH@]&ZA9%DA^#ALC8ZR]AR5392JP&H9TXUH2T@\QOE(>6SLNM@8 M=DJ'KOX)Z;0L93U4/D ^0#Y /N D'A"A?_@RNKMOA!P4B209U_>W06ECY(/9 MM&%;S_XGJQ]AB:.RG6 C.9JPC5.#LFH,_ >'O!HQCHU5:@KX\?TOU$L =V'F M+N8?_O;_4$L! A0#% @ 0X1P5LFUM @W! U3 T M ( ! &5X7S0X-3%\T.#4W.#8N M:'1M4$L! A0#% @ 0X1P5H6H,T#8!P O#0 T ( ! MI@\ &5X7S0X-3,3,% Z'P M#0 @ &I%P 97A?-#@U-S@X+FAT;5!+ 0(4 Q0 ( $.$ M<%:6-L@BG3 QG 0 - " 0<= !E>%\T.# A@ (*1 0 5 " :+0 M !U9G!T+3(P,C(Q,C,Q7V-A;"YX;6Q02P$"% ,4 " !#A'!6OOZOO7QI M #L5 D %0 @ '7Z =69P="TR,#(R,3(S,5]D968N>&UL M4$L! A0#% @ 0X1P5LF#SFGLF &H<( !4 ( !AE(! M '5F<'0M,C R,C$R,S%?;&%B+GAM;%!+ 0(4 Q0 ( $.$<%:,/LMZ_&\ M !HO"@ 5 " :7K 0!U9G!T+3(P,C(Q,C,Q7W!R92YX;6Q0 M2P$"% ,4 " !#A'!6QV3'17KX 0##.!L % @ '46P( J=69P=#(P,C(Q,C,Q7S$P:RYH=&U02P4& X #@!E P @%0$ end